diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2010-07-12 08:41:40 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2010-07-12 08:41:40 -0400 |
commit | a1d75f258230b75d46aecdf28b2e732413028863 (patch) | |
tree | 2ab11fc692c8426551045b7ab9a290dfa770821c /include/linux/fuse.h | |
parent | 7909b1c64078087ac153fb47a2f50793fe3ee7d0 (diff) |
fuse: add store request
Userspace filesystem can request data to be stored in the inode's
mapping. This request is synchronous and has no reply. If the write
to the fuse device returns an error then the store request was not
fully completed (but may have updated some pages).
If the stored data overflows the current file size, then the size is
extended, similarly to a write(2) on the filesystem.
Pages which have been completely stored are marked uptodate.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'include/linux/fuse.h')
-rw-r--r-- | include/linux/fuse.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/fuse.h b/include/linux/fuse.h index 88e0eb596919..a90bd49834aa 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h | |||
@@ -37,6 +37,9 @@ | |||
37 | * | 37 | * |
38 | * 7.14 | 38 | * 7.14 |
39 | * - add splice support to fuse device | 39 | * - add splice support to fuse device |
40 | * | ||
41 | * 7.15 | ||
42 | * - add store notify | ||
40 | */ | 43 | */ |
41 | 44 | ||
42 | #ifndef _LINUX_FUSE_H | 45 | #ifndef _LINUX_FUSE_H |
@@ -68,7 +71,7 @@ | |||
68 | #define FUSE_KERNEL_VERSION 7 | 71 | #define FUSE_KERNEL_VERSION 7 |
69 | 72 | ||
70 | /** Minor version number of this interface */ | 73 | /** Minor version number of this interface */ |
71 | #define FUSE_KERNEL_MINOR_VERSION 14 | 74 | #define FUSE_KERNEL_MINOR_VERSION 15 |
72 | 75 | ||
73 | /** The node ID of the root inode */ | 76 | /** The node ID of the root inode */ |
74 | #define FUSE_ROOT_ID 1 | 77 | #define FUSE_ROOT_ID 1 |
@@ -260,6 +263,7 @@ enum fuse_notify_code { | |||
260 | FUSE_NOTIFY_POLL = 1, | 263 | FUSE_NOTIFY_POLL = 1, |
261 | FUSE_NOTIFY_INVAL_INODE = 2, | 264 | FUSE_NOTIFY_INVAL_INODE = 2, |
262 | FUSE_NOTIFY_INVAL_ENTRY = 3, | 265 | FUSE_NOTIFY_INVAL_ENTRY = 3, |
266 | FUSE_NOTIFY_STORE = 4, | ||
263 | FUSE_NOTIFY_CODE_MAX, | 267 | FUSE_NOTIFY_CODE_MAX, |
264 | }; | 268 | }; |
265 | 269 | ||
@@ -568,4 +572,11 @@ struct fuse_notify_inval_entry_out { | |||
568 | __u32 padding; | 572 | __u32 padding; |
569 | }; | 573 | }; |
570 | 574 | ||
575 | struct fuse_notify_store_out { | ||
576 | __u64 nodeid; | ||
577 | __u64 offset; | ||
578 | __u32 size; | ||
579 | __u32 padding; | ||
580 | }; | ||
581 | |||
571 | #endif /* _LINUX_FUSE_H */ | 582 | #endif /* _LINUX_FUSE_H */ |