diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2016-11-23 15:59:52 -0800 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2016-11-29 08:25:52 -0800 |
commit | 56fde4ba9ee0268ece42512a00782b2064537b15 (patch) | |
tree | eb683a64fe89098de9be107272b39ef130e4ae74 /include/fuse_lowlevel.h | |
parent | 8e9cf9ecc6241f740edfa5bdc3533a2d0f2bb3e1 (diff) | |
download | libfuse-56fde4ba9ee0268ece42512a00782b2064537b15.tar.gz |
Improve documentation of fuse_session_unmount
Diffstat (limited to 'include/fuse_lowlevel.h')
-rw-r--r-- | include/fuse_lowlevel.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index af3063f..835b420 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -1850,7 +1850,26 @@ void fuse_session_reset(struct fuse_session *se); int fuse_session_exited(struct fuse_session *se); /** - * Unmount the file system + * Ensure that file system is unmounted. + * + * In regular operation, the file system is typically unmounted by the + * user calling umount(8) or fusermount(1), which then terminates the + * FUSE session loop. However, the session loop may also terminate as + * a result of an explicit call to fuse_session_exit() (e.g. by a + * signal handler installed by fuse_set_signal_handler()). In this + * case the filesystem remains mounted, but any attempt to access it + * will block (while the filesystem process is still running) or give + * an ESHUTDOWN error (after the filesystem process has terminated). + * + * If the communication channel with the FUSE kernel module is still + * open (i.e., if the session loop was terminated by an explicit call + * to fuse_session_exit()), this function will close it and unmount + * the filesystem. If the communication channel has been closed by the + * kernel, this method will do (almost) nothing. + * + * NOTE: The above semantics mean that if the connection to the kernel + * is terminated via the ``/sys/fs/fuse/connections/NNN/abort`` file, + * this method will *not* unmount the filesystem. * * @param se the session */ |