Go to file
Csaba Henk 461888bb63 fuse: implement "-oauto_unmount"
libfuse has an auto_unmount option which,
if enabled, ensures that the file system
is unmounted at FUSE server termination
by running a separate monitor process
that performs the unmount when that
occurs. (This feature would probably
better be called "robust auto-unmount",
as FUSE servers usually do try to unmount
their file systems upon termination,
it's just this mechanism is not crash
resilient.)

This change implements that option and
behavior for glusterfs.

Note that "auto unmount" (robust or not) is
a leaky abstraction, as the kernel cannot
guarantee that at the path where the FUSE
fs is mounted is actually the toplevel mount
at the time of the umount(2) call, for
multiple reasons, among others, see:

  fuse-devel: "fuse: feasible to distinguish between umount and abort?"
  http://fuse.996288.n3.nabble.com/fuse-feasible-to-distinguish-between-umount-and-abort-tt14358.html
  https://github.com/libfuse/libfuse/issues/122

Updates #153

Change-Id: Ia4432580c9fd2c156d9c73c3a44f4bfd42437599
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: https://review.gluster.org/17230
Tested-by: Amar Tumballi <amarts@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
2017-05-23 13:21:25 +00:00
.github doc: Added a github issue template to redirect to mails or bugzilla 2017-03-02 22:07:40 -05:00
api gfapi: fix handling of dot and double dot in path 2017-05-14 13:13:59 +00:00
build-aux build: out-of-tree builds generates files in the wrong directory 2016-09-18 09:34:37 -07:00
cli Tier/cli: detach status xml output 2017-05-17 05:07:39 +00:00
contrib fuse: implement "-oauto_unmount" 2017-05-23 13:21:25 +00:00
doc rpc: add more document on programs and actors 2017-05-15 02:19:41 +00:00
events eventsapi: Fix webhook-test when no schema specified in URL 2017-04-17 06:25:27 -04:00
extras extras: Provide group set for gluster-block workloads 2017-05-12 13:21:28 +00:00
geo-replication geo-rep: Rsync tunables for performance improvements 2017-05-23 11:15:47 +00:00
glusterfsd brick mux: Detach brick on posix health check failure 2017-05-15 12:15:02 +00:00
heal glfsheal: Explicitly enable self-heal xlator options 2016-12-15 07:46:26 -08:00
libglusterfs libglusterfs: extract some functionality to functions 2017-05-23 13:21:20 +00:00
rpc socket: Avoid flooding of error message in case of SSL 2017-05-15 12:15:44 +00:00
tests cluster/ec: Implement FALLOCATE FOP for EC 2017-05-23 07:13:06 +00:00
tools build/packaging: Debian and Ubuntu don't have /usr/libexec 2017-03-13 10:18:07 -04:00
xlators fuse: implement "-oauto_unmount" 2017-05-23 13:21:25 +00:00
.gitignore build: add copied .x files to .gitignore 2017-03-30 13:27:17 -04:00
.mailmap contributors: map more email addresses and domain names 2017-02-20 17:10:58 -05:00
AUTHORS cleaned up some outdated files 2010-03-12 04:09:34 -08:00
autogen.sh build: include a dummy config.sub and config.guess in releases 2016-05-24 03:54:38 -07:00
ChangeLog Fixed build problems for init script installation. 2009-03-09 17:45:56 +05:30
configure.ac brick mux: Detach brick on posix health check failure 2017-05-15 12:15:02 +00:00
CONTRIBUTING rfc.sh: set 'Change-Id: ' header on first run 2012-08-15 10:39:43 -07:00
COPYING-GPLV2 license: dual license under GPLV2 and LGPLV3+ 2012-05-10 22:06:16 -07:00
COPYING-LGPLV3 license: dual license under GPLV2 and LGPLV3+ 2012-05-10 22:06:16 -07:00
glusterfs-api.pc.in build: make contrib/uuid dependency optional 2015-04-10 11:39:52 +00:00
glusterfs.spec.in extras: Provide group set for gluster-block workloads 2017-05-12 13:21:28 +00:00
INSTALL doc: update to readthedocs.io documentation 2016-12-11 04:38:39 -08:00
libgfchangelog.pc.in build: make contrib/uuid dependency optional 2015-04-10 11:39:52 +00:00
libgfdb.pc.in build: make contrib/uuid dependency optional 2015-04-10 11:39:52 +00:00
MAINTAINERS MAINTAINERS: src.fedoraproject.org is the new location and uses https 2017-01-12 11:00:22 -08:00
Makefile.am build: add site.h as a place to put environment-specific defines 2017-05-10 12:25:10 +00:00
NEWS news: note the move to gerrit 2011-07-18 17:24:14 +05:30
README.md doc: update to readthedocs.io documentation 2016-12-11 04:38:39 -08:00
rfc.sh scripts: Update rfc.sh to prompt for a github issue on RFE commits 2017-04-19 08:18:17 -04:00
run-tests-in-vagrant.sh vagrant-test: added more options and centos6 base box 2016-04-25 07:28:39 -07:00
run-tests.sh tests: fix typo 2017-04-30 21:45:49 +00:00
site.h.in build: add site.h as a place to put environment-specific defines 2017-05-10 12:25:10 +00:00
THANKS Typo fix THANKS message 2014-09-16 02:30:36 -07:00

For information about contributing to GlusterFS, please follow Contributing to GlusterFS community.

GlusterFS does not follow the GitHub: Fork & pull workflow but use Gerrit for code review.

The development guidelines are detailed in Development Workflow.

The GlusterFS documentation can be found at our Read the Docs site.

For more info, please visit gluster.org.