summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2013-05-20 14:44:59 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2013-05-20 14:44:59 +0200
commit18c59ab4893cf3c64762556aa0af2cac638655df (patch)
tree886988ad687b8d3064c67871da7fde1f88776430
parent6b02a7082ae4c560427ff95b51aa8930bb4a6e1f (diff)
downloadfuse-18c59ab4893cf3c64762556aa0af2cac638655df.tar.gz
libfuse: fix readdirplus doc
Returning entry in readdir does not result in bump of lookup count. Returning entry in readdirplus DOES result in increase of lookup count by 1. You need to provide valid nodeid and valid stat structure (with at least valid type) for each entry.
-rw-r--r--include/fuse_lowlevel.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h
index 0a1d5f5..d46ef86 100644
--- a/include/fuse_lowlevel.h
+++ b/include/fuse_lowlevel.h
@@ -600,6 +600,9 @@ struct fuse_lowlevel_ops {
*
* fi->fh will contain the value set by the opendir method, or
* will be undefined if the opendir method didn't set any value.
+ *
+ * Returning a directory entry from readdir() does not affect
+ * its lookup count.
*
* Valid replies:
* fuse_reply_buf
@@ -1026,6 +1029,10 @@ struct fuse_lowlevel_ops {
*
* fi->fh will contain the value set by the opendir method, or
* will be undefined if the opendir method didn't set any value.
+ *
+ * In contrast to readdir() (which does not affect the lookup
+ * counts), the lookup count of every entry returned by
+ * readdirplus() is increased by one.
*
* Introduced in version 3.0
*
@@ -1176,6 +1183,11 @@ int fuse_reply_buf(fuse_req_t req, const char *buf, size_t size);
* Possible requests:
* read, readdir, getxattr, listxattr
*
+ * Side effects:
+ * when used to return data from a readdirplus() (but not readdir())
+ * call, increments the lookup count of each returned entry by one
+ * on success.
+ *
* @param req request handle
* @param bufv buffer vector
* @param flags flags controlling the copy