diff options
author | Tomas Bzatek <tbzatek@redhat.com> | 2013-02-06 16:02:06 +0100 |
---|---|---|
committer | Tomas Bzatek <tbzatek@redhat.com> | 2013-02-06 16:08:08 +0100 |
commit | 657330aa51ec65b9e5c247365bf5eb067ef62915 (patch) | |
tree | 5a90ff3553e17e0d2cc4e7fa22a5cc58885ac0bb /client | |
parent | 4c37c7263682e99ed57e22b001ca5dd71c21e240 (diff) | |
download | gvfs-657330aa51ec65b9e5c247365bf5eb067ef62915.tar.gz |
fuse: Install systemd tmpfiles.d exclusion file
We need to tell systemd to stay out of our fuse mounts before
any data are destroyed.
This patch reuses libsystemd-login detection as long as there is no
general header or pkg-config file in systemd.
https://bugzilla.redhat.com/show_bug.cgi?id=902743
https://bugs.archlinux.org/task/32715
https://bugzilla.gnome.org/show_bug.cgi?id=560658
Diffstat (limited to 'client')
-rw-r--r-- | client/Makefile.am | 15 | ||||
-rw-r--r-- | client/gvfsd-fuse-tmpfiles.conf | 14 |
2 files changed, 29 insertions, 0 deletions
diff --git a/client/Makefile.am b/client/Makefile.am index 5613d58f..356bb578 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -81,4 +81,19 @@ gvfsd_fuse_LDADD = \ $(top_builddir)/common/libgvfscommon.la \ $(GLIB_LIBS) $(FUSE_LIBS) + +# FIXME: reusing USE_LIBSYSTEMD_LOGIN as systemd has no universal header or pkg-config file +if USE_LIBSYSTEMD_LOGIN + +# FIXME: hardcoded path (systemd doesn't use lib64) +tmpfilesddir = $(prefix)/lib/tmpfiles.d +tmpfilesd_DATA = gvfsd-fuse-tmpfiles.conf + +endif + endif + + +EXTRA_DIST = \ + gvfsd-fuse-tmpfiles.conf \ + $(NULL) diff --git a/client/gvfsd-fuse-tmpfiles.conf b/client/gvfsd-fuse-tmpfiles.conf new file mode 100644 index 00000000..d808f2eb --- /dev/null +++ b/client/gvfsd-fuse-tmpfiles.conf @@ -0,0 +1,14 @@ +# This is a systemd tmpfiles.d configuration file +# +# tmpfiles.d defaults are set to clean /run/user every now and then +# which includes our gvfs-fuse mount being mounted in /run/user/<id>/gvfs +# +# This file adds an exclusion rule so that user data don't get automatically +# cleaned up (i.e. destroyed). +# +# Due to our fuse mount restrictions root can't access nor stat the mountpoint +# resulting in warning spitted out by the systemd-tmpfiles process. Please +# ignore it for the time being until proper solution is found: +# https://bugzilla.gnome.org/show_bug.cgi?id=560658 + +x /run/user/*/gvfs |