diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2013-10-10 09:12:18 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2014-04-02 09:38:50 -0400 |
commit | 4d99ff8f12eb20c6cde292f185cb1c8c334ba0ed (patch) | |
tree | a0668c9f45b4065ee935c1f653d32a11ae6ef788 /include/uapi | |
parent | ea8cd33390fafc1eca06a26e6a9c7bf1d386526f (diff) |
fuse: Turn writeback cache on
Introduce a bit kernel and userspace exchange between each-other on
the init stage and turn writeback on if the userspace want this and
mount option 'allow_wbcache' is present (controlled by fusermount).
Also add each writable file into per-inode write list and call the
generic_file_aio_write to make use of the Linux page cache engine.
Signed-off-by: Maxim Patlasov <MPatlasov@parallels.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/fuse.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h index 60bb2f9f7b74..cf4750e1bb49 100644 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h | |||
@@ -93,6 +93,9 @@ | |||
93 | * | 93 | * |
94 | * 7.22 | 94 | * 7.22 |
95 | * - add FUSE_ASYNC_DIO | 95 | * - add FUSE_ASYNC_DIO |
96 | * | ||
97 | * 7.23 | ||
98 | * - add FUSE_WRITEBACK_CACHE | ||
96 | */ | 99 | */ |
97 | 100 | ||
98 | #ifndef _LINUX_FUSE_H | 101 | #ifndef _LINUX_FUSE_H |
@@ -128,7 +131,7 @@ | |||
128 | #define FUSE_KERNEL_VERSION 7 | 131 | #define FUSE_KERNEL_VERSION 7 |
129 | 132 | ||
130 | /** Minor version number of this interface */ | 133 | /** Minor version number of this interface */ |
131 | #define FUSE_KERNEL_MINOR_VERSION 22 | 134 | #define FUSE_KERNEL_MINOR_VERSION 23 |
132 | 135 | ||
133 | /** The node ID of the root inode */ | 136 | /** The node ID of the root inode */ |
134 | #define FUSE_ROOT_ID 1 | 137 | #define FUSE_ROOT_ID 1 |
@@ -219,6 +222,7 @@ struct fuse_file_lock { | |||
219 | * FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one) | 222 | * FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one) |
220 | * FUSE_READDIRPLUS_AUTO: adaptive readdirplus | 223 | * FUSE_READDIRPLUS_AUTO: adaptive readdirplus |
221 | * FUSE_ASYNC_DIO: asynchronous direct I/O submission | 224 | * FUSE_ASYNC_DIO: asynchronous direct I/O submission |
225 | * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes | ||
222 | */ | 226 | */ |
223 | #define FUSE_ASYNC_READ (1 << 0) | 227 | #define FUSE_ASYNC_READ (1 << 0) |
224 | #define FUSE_POSIX_LOCKS (1 << 1) | 228 | #define FUSE_POSIX_LOCKS (1 << 1) |
@@ -236,6 +240,7 @@ struct fuse_file_lock { | |||
236 | #define FUSE_DO_READDIRPLUS (1 << 13) | 240 | #define FUSE_DO_READDIRPLUS (1 << 13) |
237 | #define FUSE_READDIRPLUS_AUTO (1 << 14) | 241 | #define FUSE_READDIRPLUS_AUTO (1 << 14) |
238 | #define FUSE_ASYNC_DIO (1 << 15) | 242 | #define FUSE_ASYNC_DIO (1 << 15) |
243 | #define FUSE_WRITEBACK_CACHE (1 << 16) | ||
239 | 244 | ||
240 | /** | 245 | /** |
241 | * CUSE INIT request/reply flags | 246 | * CUSE INIT request/reply flags |