aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fuse.h')
-rw-r--r--include/linux/fuse.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index 6f4a31266cd5..7d4fa5b25b87 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -14,6 +14,7 @@
14 * 7.9: 14 * 7.9:
15 * - new fuse_getattr_in input argument of GETATTR 15 * - new fuse_getattr_in input argument of GETATTR
16 * - add lk_flags in fuse_lk_in 16 * - add lk_flags in fuse_lk_in
17 * - add lock_owner field to fuse_setattr_in, fuse_read_in and fuse_write_in
17 */ 18 */
18 19
19#include <asm/types.h> 20#include <asm/types.h>
@@ -86,6 +87,7 @@ struct fuse_file_lock {
86#define FATTR_FH (1 << 6) 87#define FATTR_FH (1 << 6)
87#define FATTR_ATIME_NOW (1 << 7) 88#define FATTR_ATIME_NOW (1 << 7)
88#define FATTR_MTIME_NOW (1 << 8) 89#define FATTR_MTIME_NOW (1 << 8)
90#define FATTR_LOCKOWNER (1 << 9)
89 91
90/** 92/**
91 * Flags returned by the OPEN request 93 * Flags returned by the OPEN request
@@ -123,8 +125,15 @@ struct fuse_file_lock {
123 * WRITE flags 125 * WRITE flags
124 * 126 *
125 * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed 127 * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed
128 * FUSE_WRITE_LOCKOWNER: lock_owner field is valid
126 */ 129 */
127#define FUSE_WRITE_CACHE (1 << 0) 130#define FUSE_WRITE_CACHE (1 << 0)
131#define FUSE_WRITE_LOCKOWNER (1 << 1)
132
133/**
134 * Read flags
135 */
136#define FUSE_READ_LOCKOWNER (1 << 1)
128 137
129enum fuse_opcode { 138enum fuse_opcode {
130 FUSE_LOOKUP = 1, 139 FUSE_LOOKUP = 1,
@@ -219,7 +228,7 @@ struct fuse_setattr_in {
219 __u32 padding; 228 __u32 padding;
220 __u64 fh; 229 __u64 fh;
221 __u64 size; 230 __u64 size;
222 __u64 unused1; 231 __u64 lock_owner;
223 __u64 atime; 232 __u64 atime;
224 __u64 mtime; 233 __u64 mtime;
225 __u64 unused2; 234 __u64 unused2;
@@ -262,14 +271,18 @@ struct fuse_read_in {
262 __u64 fh; 271 __u64 fh;
263 __u64 offset; 272 __u64 offset;
264 __u32 size; 273 __u32 size;
265 __u32 padding; 274 __u32 read_flags;
275 __u64 lock_owner;
266}; 276};
267 277
278#define FUSE_COMPAT_WRITE_IN_SIZE 24
279
268struct fuse_write_in { 280struct fuse_write_in {
269 __u64 fh; 281 __u64 fh;
270 __u64 offset; 282 __u64 offset;
271 __u32 size; 283 __u32 size;
272 __u32 write_flags; 284 __u32 write_flags;
285 __u64 lock_owner;
273}; 286};
274 287
275struct fuse_write_out { 288struct fuse_write_out {