aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fuse.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2007-10-18 06:06:59 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-18 17:37:30 -0400
commitc79e322f63592c00b25b17af6a1782fad6c6fe6e (patch)
treed3cbacb295b82c036553f68f5a060c67ae16bfa3 /include/linux/fuse.h
parent1fb69e7817296da8a6824804bb206ca1e7f31425 (diff)
fuse: add file handle to getattr operation
Add necessary protocol changes for supplying a file handle with the getattr operation. Step the API version to 7.9. This patch doesn't actually supply the file handle, because that needs some kind of VFS support, which we haven't yet been able to agree upon. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/fuse.h')
-rw-r--r--include/linux/fuse.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index 9fbe9d258e22..a50d0d9ac7ae 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -6,7 +6,14 @@
6 See the file COPYING. 6 See the file COPYING.
7*/ 7*/
8 8
9/* This file defines the kernel interface of FUSE */ 9/*
10 * This file defines the kernel interface of FUSE
11 *
12 * Protocol changelog:
13 *
14 * 7.9:
15 * - new fuse_getattr_in input argument of GETATTR
16 */
10 17
11#include <asm/types.h> 18#include <asm/types.h>
12#include <linux/major.h> 19#include <linux/major.h>
@@ -15,7 +22,7 @@
15#define FUSE_KERNEL_VERSION 7 22#define FUSE_KERNEL_VERSION 7
16 23
17/** Minor version number of this interface */ 24/** Minor version number of this interface */
18#define FUSE_KERNEL_MINOR_VERSION 8 25#define FUSE_KERNEL_MINOR_VERSION 9
19 26
20/** The node ID of the root inode */ 27/** The node ID of the root inode */
21#define FUSE_ROOT_ID 1 28#define FUSE_ROOT_ID 1
@@ -91,12 +98,18 @@ struct fuse_file_lock {
91 */ 98 */
92#define FUSE_ASYNC_READ (1 << 0) 99#define FUSE_ASYNC_READ (1 << 0)
93#define FUSE_POSIX_LOCKS (1 << 1) 100#define FUSE_POSIX_LOCKS (1 << 1)
101#define FUSE_FILE_OPS (1 << 2)
94 102
95/** 103/**
96 * Release flags 104 * Release flags
97 */ 105 */
98#define FUSE_RELEASE_FLUSH (1 << 0) 106#define FUSE_RELEASE_FLUSH (1 << 0)
99 107
108/**
109 * Getattr flags
110 */
111#define FUSE_GETATTR_FH (1 << 0)
112
100enum fuse_opcode { 113enum fuse_opcode {
101 FUSE_LOOKUP = 1, 114 FUSE_LOOKUP = 1,
102 FUSE_FORGET = 2, /* no reply */ 115 FUSE_FORGET = 2, /* no reply */
@@ -154,6 +167,12 @@ struct fuse_forget_in {
154 __u64 nlookup; 167 __u64 nlookup;
155}; 168};
156 169
170struct fuse_getattr_in {
171 __u32 getattr_flags;
172 __u32 dummy;
173 __u64 fh;
174};
175
157struct fuse_attr_out { 176struct fuse_attr_out {
158 __u64 attr_valid; /* Cache timeout for the attributes */ 177 __u64 attr_valid; /* Cache timeout for the attributes */
159 __u32 attr_valid_nsec; 178 __u32 attr_valid_nsec;