[PATCH] FUSE: atomic create+open

This patch adds an atomic create+open operation.  This does not yet work if
the file type changes between lookup and create+open, but solves the
permission checking problems for the separte create and open methods.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Miklos Szeredi 2005-11-07 00:59:51 -08:00 committed by Linus Torvalds
parent 31d40d74b4
commit fd72faac95
5 changed files with 214 additions and 50 deletions

View file

@ -100,7 +100,8 @@ enum fuse_opcode {
FUSE_READDIR = 28,
FUSE_RELEASEDIR = 29,
FUSE_FSYNCDIR = 30,
FUSE_ACCESS = 34
FUSE_ACCESS = 34,
FUSE_CREATE = 35
};
/* Conservative buffer size for the client */
@ -158,7 +159,7 @@ struct fuse_setattr_in {
struct fuse_open_in {
__u32 flags;
__u32 padding;
__u32 mode;
};
struct fuse_open_out {