diff options
author | Feng Shuo <steve.shuo.feng@gmail.com> | 2013-01-04 16:23:30 +0800 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-02-06 17:27:28 +0100 |
commit | 9ba76b906498d443eb811b8e88e2b92910893d13 (patch) | |
tree | 20b6ed234186b1ba0ed432e9da801185a9a782f9 /include | |
parent | 06b1100acabe011ce632b1a97819cde41d66d0ad (diff) |
libfuse: Add '[no_]auto_inval_data' mount option
Several caching logic changes have been made on the kernel side
to better support network-based fuse filesystems. These include
kernel side mtime checking and read path cache revalidation. The
new caching logic is enabled through the FUSE_AUTO_INVAL_DATA
init flag. Export this to the user via the '[no_]auto_inval_data'
mount option.
Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/fuse_common.h | 23 | ||||
-rw-r--r-- | include/fuse_kernel.h | 7 |
2 files changed, 18 insertions, 12 deletions
diff --git a/include/fuse_common.h b/include/fuse_common.h index 0ae33a9..58458ab 100644 --- a/include/fuse_common.h +++ b/include/fuse_common.h @@ -100,17 +100,18 @@ struct fuse_file_info { * FUSE_CAP_SPLICE_READ: ability to use splice() to read from the fuse device * FUSE_CAP_IOCTL_DIR: ioctl support on directories */ -#define FUSE_CAP_ASYNC_READ (1 << 0) -#define FUSE_CAP_POSIX_LOCKS (1 << 1) -#define FUSE_CAP_ATOMIC_O_TRUNC (1 << 3) -#define FUSE_CAP_EXPORT_SUPPORT (1 << 4) -#define FUSE_CAP_BIG_WRITES (1 << 5) -#define FUSE_CAP_DONT_MASK (1 << 6) -#define FUSE_CAP_SPLICE_WRITE (1 << 7) -#define FUSE_CAP_SPLICE_MOVE (1 << 8) -#define FUSE_CAP_SPLICE_READ (1 << 9) -#define FUSE_CAP_FLOCK_LOCKS (1 << 10) -#define FUSE_CAP_IOCTL_DIR (1 << 11) +#define FUSE_CAP_ASYNC_READ (1 << 0) +#define FUSE_CAP_POSIX_LOCKS (1 << 1) +#define FUSE_CAP_ATOMIC_O_TRUNC (1 << 3) +#define FUSE_CAP_EXPORT_SUPPORT (1 << 4) +#define FUSE_CAP_BIG_WRITES (1 << 5) +#define FUSE_CAP_DONT_MASK (1 << 6) +#define FUSE_CAP_SPLICE_WRITE (1 << 7) +#define FUSE_CAP_SPLICE_MOVE (1 << 8) +#define FUSE_CAP_SPLICE_READ (1 << 9) +#define FUSE_CAP_FLOCK_LOCKS (1 << 10) +#define FUSE_CAP_IOCTL_DIR (1 << 11) +#define FUSE_CAP_AUTO_INVAL_DATA (1 << 12) /** * Ioctl flags diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h index 0f24494..501450c 100644 --- a/include/fuse_kernel.h +++ b/include/fuse_kernel.h @@ -83,6 +83,9 @@ * * 7.19 * - add FUSE_FALLOCATE + * + * 7.20 + * - add FUSE_AUTO_INVAL_DATA */ #ifndef _LINUX_FUSE_H @@ -119,7 +122,7 @@ #define FUSE_KERNEL_VERSION 7 /** Minor version number of this interface */ -#define FUSE_KERNEL_MINOR_VERSION 19 +#define FUSE_KERNEL_MINOR_VERSION 20 /** The node ID of the root inode */ #define FUSE_ROOT_ID 1 @@ -206,6 +209,7 @@ struct fuse_file_lock { * FUSE_SPLICE_READ: kernel supports splice read on the device * FUSE_FLOCK_LOCKS: remote locking for BSD style file locks * FUSE_HAS_IOCTL_DIR: kernel supports ioctl on directories + * FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages */ #define FUSE_ASYNC_READ (1 << 0) #define FUSE_POSIX_LOCKS (1 << 1) @@ -219,6 +223,7 @@ struct fuse_file_lock { #define FUSE_SPLICE_READ (1 << 9) #define FUSE_FLOCK_LOCKS (1 << 10) #define FUSE_HAS_IOCTL_DIR (1 << 11) +#define FUSE_AUTO_INVAL_DATA (1 << 12) /** * CUSE INIT request/reply flags |