From 657330aa51ec65b9e5c247365bf5eb067ef62915 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Wed, 06 Feb 2013 15:02:06 +0000 Subject: 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 --- diff --git a/client/Makefile.am b/client/Makefile.am index 5613d58..356bb57 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 0000000..d808f2e --- a/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//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 -- cgit v0.9.0.2