aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/fuse.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2018-09-28 16:43:23 +0200
committerMiklos Szeredi <mszeredi@redhat.com>2018-09-28 16:43:23 +0200
commit6433b8998a21dc597002731c4ceb4144e856edc4 (patch)
tree2792ae01ee8dbbed39292d55e1c4b3e3db51272d /include/uapi/linux/fuse.h
parentfuse: split out readdir.c (diff)
downloadlinux-dev-6433b8998a21dc597002731c4ceb4144e856edc4.tar.xz
linux-dev-6433b8998a21dc597002731c4ceb4144e856edc4.zip
fuse: add FOPEN_CACHE_DIR
Add flag returned by OPENDIR request to allow kernel to cache directory contents in page cache. The effect of FOPEN_CACHE_DIR is twofold: a) if not already cached, it writes entries into the cache b) if already cached, it allows reading entries from the cache The FOPEN_KEEP_CACHE has the same effect as on regular files: unless this flag is given the cache is cleared upon completion of open. So FOPEN_KEEP_CACHE and FOPEN_KEEP_CACHE flags should be used together to make use of the directory caching facility introduced in the following patches. The FUSE_AUTO_INVAL_DATA flag returned in INIT reply also has the same affect on the directory cache as it has on data cache for regular files. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'include/uapi/linux/fuse.h')
-rw-r--r--include/uapi/linux/fuse.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h
index d27b50a44f74..31a504f1ee60 100644
--- a/include/uapi/linux/fuse.h
+++ b/include/uapi/linux/fuse.h
@@ -119,6 +119,7 @@
*
* 7.28
* - add FUSE_COPY_FILE_RANGE
+ * - add FOPEN_CACHE_DIR
*/
#ifndef _LINUX_FUSE_H
@@ -222,10 +223,12 @@ struct fuse_file_lock {
* FOPEN_DIRECT_IO: bypass page cache for this open file
* FOPEN_KEEP_CACHE: don't invalidate the data cache on open
* FOPEN_NONSEEKABLE: the file is not seekable
+ * FOPEN_CACHE_DIR: allow caching this directory
*/
#define FOPEN_DIRECT_IO (1 << 0)
#define FOPEN_KEEP_CACHE (1 << 1)
#define FOPEN_NONSEEKABLE (1 << 2)
+#define FOPEN_CACHE_DIR (1 << 3)
/**
* INIT request/reply flags