diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2007-10-18 06:07:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:31 -0400 |
commit | a9ff4f87056cd31a8232b88d013dc6c9ad719c18 (patch) | |
tree | 8ddcc01ae8b6615a9a530fb51c52825b315ee266 /include/linux | |
parent | 6ff958edbf39c014eb06b65ad25b736be08c4e63 (diff) |
fuse: support BSD locking semantics
It is trivial to add support for flock(2) semantics to the existing protocol,
by setting the lock owner field to the file pointer, and passing a new
FUSE_LK_FLOCK flag with the locking request.
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')
-rw-r--r-- | include/linux/fuse.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/fuse.h b/include/linux/fuse.h index 436047093bc4..015a8b15a388 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h | |||
@@ -13,6 +13,7 @@ | |||
13 | * | 13 | * |
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 | */ | 17 | */ |
17 | 18 | ||
18 | #include <asm/types.h> | 19 | #include <asm/types.h> |
@@ -113,6 +114,11 @@ struct fuse_file_lock { | |||
113 | */ | 114 | */ |
114 | #define FUSE_GETATTR_FH (1 << 0) | 115 | #define FUSE_GETATTR_FH (1 << 0) |
115 | 116 | ||
117 | /** | ||
118 | * Lock flags | ||
119 | */ | ||
120 | #define FUSE_LK_FLOCK (1 << 0) | ||
121 | |||
116 | enum fuse_opcode { | 122 | enum fuse_opcode { |
117 | FUSE_LOOKUP = 1, | 123 | FUSE_LOOKUP = 1, |
118 | FUSE_FORGET = 2, /* no reply */ | 124 | FUSE_FORGET = 2, /* no reply */ |
@@ -295,6 +301,8 @@ struct fuse_lk_in { | |||
295 | __u64 fh; | 301 | __u64 fh; |
296 | __u64 owner; | 302 | __u64 owner; |
297 | struct fuse_file_lock lk; | 303 | struct fuse_file_lock lk; |
304 | __u32 lk_flags; | ||
305 | __u32 padding; | ||
298 | }; | 306 | }; |
299 | 307 | ||
300 | struct fuse_lk_out { | 308 | struct fuse_lk_out { |