diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/fuse-include/fuse_kernel.h | 62 | 
1 files changed, 60 insertions, 2 deletions
diff --git a/contrib/fuse-include/fuse_kernel.h b/contrib/fuse-include/fuse_kernel.h index 2f4e26ff..ac6a11af 100644 --- a/contrib/fuse-include/fuse_kernel.h +++ b/contrib/fuse-include/fuse_kernel.h @@ -60,6 +60,19 @@   * 7.13   *  - make max number of background requests and congestion threshold   *    tunables + * + * 7.14 + *  - add splice support to fuse device + * + * 7.15 + *  - add store notify + *  - add retrieve notify + * + * 7.16 + *  - add BATCH_FORGET request + *  - FUSE_IOCTL_UNRESTRICTED shall now return with array of 'struct + *    fuse_ioctl_iovec' instead of ambiguous 'struct iovec' + *  - add FUSE_IOCTL_32BIT flag   */  #ifndef _LINUX_FUSE_H @@ -76,7 +89,7 @@  #define FUSE_KERNEL_VERSION 7  /** Minor version number of this interface */ -#define FUSE_KERNEL_MINOR_VERSION 13 +#define FUSE_KERNEL_MINOR_VERSION 16  /** The node ID of the root inode */  #define FUSE_ROOT_ID 1 @@ -206,12 +219,14 @@ struct fuse_file_lock {   * FUSE_IOCTL_COMPAT: 32bit compat ioctl on 64bit machine   * FUSE_IOCTL_UNRESTRICTED: not restricted to well-formed ioctls, retry allowed   * FUSE_IOCTL_RETRY: retry with new iovecs + * FUSE_IOCTL_32BIT: 32bit ioctl   *   * FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs   */  #define FUSE_IOCTL_COMPAT	(1 << 0)  #define FUSE_IOCTL_UNRESTRICTED	(1 << 1)  #define FUSE_IOCTL_RETRY	(1 << 2) +#define FUSE_IOCTL_32BIT       (1 << 3)  #define FUSE_IOCTL_MAX_IOV	256 @@ -261,7 +276,8 @@ enum fuse_opcode {  	FUSE_DESTROY       = 38,  	FUSE_IOCTL         = 39,  	FUSE_POLL          = 40, - +	FUSE_NOTIFY_REPLY  = 41, +	FUSE_BATCH_FORGET  = 42,  	FUSE_FALLOCATE	   = 43,  	FUSE_READDIRPLUS   = 44,  	/* CUSE specific operations */ @@ -272,6 +288,8 @@ enum fuse_notify_code {  	FUSE_NOTIFY_POLL   = 1,  	FUSE_NOTIFY_INVAL_INODE = 2,  	FUSE_NOTIFY_INVAL_ENTRY = 3, +	FUSE_NOTIFY_STORE = 4, +	FUSE_NOTIFY_RETRIEVE = 5,  	FUSE_NOTIFY_CODE_MAX,  }; @@ -295,6 +313,16 @@ struct fuse_forget_in {  	__u64	nlookup;  }; +struct fuse_forget_one { +	__u64	nodeid; +	__u64	nlookup; +}; + +struct fuse_batch_forget_in { +	__u32	count; +	__u32	dummy; +}; +  struct fuse_getattr_in {  	__u32	getattr_flags;  	__u32	dummy; @@ -515,6 +543,11 @@ struct fuse_ioctl_in {  	__u32	out_size;  }; +struct fuse_ioctl_iovec { +	__u64	base; +	__u64	len; +}; +  struct fuse_ioctl_out {  	__s32	result;  	__u32	flags; @@ -598,4 +631,29 @@ struct fuse_notify_inval_entry_out {  	__u32	padding;  }; +struct fuse_notify_store_out { +	__u64	nodeid; +	__u64	offset; +	__u32	size; +	__u32	padding; +}; + +struct fuse_notify_retrieve_out { +	__u64	notify_unique; +	__u64	nodeid; +	__u64	offset; +	__u32	size; +	__u32	padding; +}; + +/* Matches the size of fuse_write_in */ +struct fuse_notify_retrieve_in { +	__u64	dummy1; +	__u64	offset; +	__u32	size; +	__u32	dummy2; +	__u64	dummy3; +	__u64	dummy4; +}; +  #endif /* _LINUX_FUSE_H */  | 
