diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2007-10-18 06:06:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:30 -0400 |
commit | c79e322f63592c00b25b17af6a1782fad6c6fe6e (patch) | |
tree | d3cbacb295b82c036553f68f5a060c67ae16bfa3 /include | |
parent | 1fb69e7817296da8a6824804bb206ca1e7f31425 (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')
-rw-r--r-- | include/linux/fuse.h | 23 |
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 | |||
100 | enum fuse_opcode { | 113 | enum 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 | ||
170 | struct fuse_getattr_in { | ||
171 | __u32 getattr_flags; | ||
172 | __u32 dummy; | ||
173 | __u64 fh; | ||
174 | }; | ||
175 | |||
157 | struct fuse_attr_out { | 176 | struct 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; |