summaryrefslogtreecommitdiffstats
path: root/fs/fuse/fuse_i.h
diff options
context:
space:
mode:
authorFeng Shuo2013-01-15 04:23:28 +0100
committerMiklos Szeredi2013-01-31 17:08:11 +0100
commit4582a4ab2a0e7218449fb2e895d0aae9ea753c94 (patch)
tree20e4bf90709bf369665c3261753fcf32ff0d1b78 /fs/fuse/fuse_i.h
parentDo not use RCU for current process credentials (diff)
downloadkernel-qcow2-linux-4582a4ab2a0e7218449fb2e895d0aae9ea753c94.tar.gz
kernel-qcow2-linux-4582a4ab2a0e7218449fb2e895d0aae9ea753c94.tar.xz
kernel-qcow2-linux-4582a4ab2a0e7218449fb2e895d0aae9ea753c94.zip
FUSE: Adapt readdirplus to application usage patterns
Use the same adaptive readdirplus mechanism as NFS: http://permalink.gmane.org/gmane.linux.nfs/49299 If the user space implementation wants to disable readdirplus temporarily, it could just return ENOTSUPP. Then kernel will recall it with readdir. Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r--fs/fuse/fuse_i.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index af51c146a9ae..fc55dd33c1e2 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -106,6 +106,15 @@ struct fuse_inode {
/** List of writepage requestst (pending or sent) */
struct list_head writepages;
+
+ /** Miscellaneous bits describing inode state */
+ unsigned long state;
+};
+
+/** FUSE inode state bits */
+enum {
+ /** Advise readdirplus */
+ FUSE_I_ADVISE_RDPLUS,
};
struct fuse_conn;