aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fuse.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2010-07-12 08:41:40 -0400
committerMiklos Szeredi <mszeredi@suse.cz>2010-07-12 08:41:40 -0400
commita1d75f258230b75d46aecdf28b2e732413028863 (patch)
tree2ab11fc692c8426551045b7ab9a290dfa770821c /include/linux/fuse.h
parent7909b1c64078087ac153fb47a2f50793fe3ee7d0 (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.h13
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
575struct 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 */