summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaximilian Heinzler <m.heinzler@heinzler.de>2021-12-12 17:28:57 +0100
committerGitHub <noreply@github.com>2021-12-12 16:28:57 +0000
commit48ae2e72b39b6a31cb2194f6f11786b7ca06aac6 (patch)
treef2b75c22ceb7ded0e6922bb85a03d13c40fbda6d
parentcee6de8d6619aeeb70f3318dfd35f2fdf5e43848 (diff)
downloadfuse-48ae2e72b39b6a31cb2194f6f11786b7ca06aac6.tar.gz
Document possible NULL paths when directories are removed (#633)
When directories with open handles are removed, the releasedir and fsyncdir operations might be called with a NULL path. That is because there is no hiding behavior like for regular files and the nodes get removed immediately.
-rw-r--r--include/fuse.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/fuse.h b/include/fuse.h
index 9e6c633..a273b15 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -560,11 +560,17 @@ struct fuse_operations {
struct fuse_file_info *, enum fuse_readdir_flags);
/** Release directory
+ *
+ * If the directory has been removed after the call to opendir, the
+ * path parameter will be NULL.
*/
int (*releasedir) (const char *, struct fuse_file_info *);
/** Synchronize directory contents
*
+ * If the directory has been removed after the call to opendir, the
+ * path parameter will be NULL.
+ *
* If the datasync parameter is non-zero, then only the user data
* should be flushed, not the meta data
*/