History

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.

Pavel Emelyanov committed 13 years ago

Commit 4d99ff81 parent ea8cd333 files · +21 −2Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/fuse.h+6−1
@@ -93,6 +93,9 @@ · 92 unmodified lines
9393 *
9494 * 7.22
9595 * - add FUSE_ASYNC_DIO
96+ *
97+ * 7.23
98+ * - add FUSE_WRITEBACK_CACHE
9699 */
97100
98101 #ifndef _LINUX_FUSE_H
@@ -128,7 +131,7 @@ · 29 unmodified lines
128131 #define FUSE_KERNEL_VERSION 7
129132
130133 /** Minor version number of this interface */
131−#define FUSE_KERNEL_MINOR_VERSION 22
134+#define FUSE_KERNEL_MINOR_VERSION 23
132135
133136 /** The node ID of the root inode */
134137 #define FUSE_ROOT_ID 1
@@ -219,6 +222,7 @@ struct fuse_file_lock { · 84 unmodified lines
219222 * FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one)
220223 * FUSE_READDIRPLUS_AUTO: adaptive readdirplus
221224 * FUSE_ASYNC_DIO: asynchronous direct I/O submission
225+ * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes
222226 */
223227 #define FUSE_ASYNC_READ (1 << 0)
224228 #define FUSE_POSIX_LOCKS (1 << 1)
@@ -236,6 +240,7 @@ struct fuse_file_lock { · 11 unmodified lines
236240 #define FUSE_DO_READDIRPLUS (1 << 13)
237241 #define FUSE_READDIRPLUS_AUTO (1 << 14)
238242 #define FUSE_ASYNC_DIO (1 << 15)
243+#define FUSE_WRITEBACK_CACHE (1 << 16)
239244
240245 /**
241246 * CUSE INIT request/reply flags

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t