git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] FUSE: atomic create+open
[safe/jmp/linux-2.6]
/
include
/
linux
/
fuse.h
diff --git
a/include/linux/fuse.h
b/include/linux/fuse.h
index
e9b814e
..
45c398f
100644
(file)
--- a/
include/linux/fuse.h
+++ b/
include/linux/fuse.h
@@
-14,7
+14,7
@@
#define FUSE_KERNEL_VERSION 7
/** Minor version number of this interface */
#define FUSE_KERNEL_VERSION 7
/** Minor version number of this interface */
-#define FUSE_KERNEL_MINOR_VERSION
1
+#define FUSE_KERNEL_MINOR_VERSION
3
/** The node ID of the root inode */
#define FUSE_ROOT_ID 1
/** The node ID of the root inode */
#define FUSE_ROOT_ID 1
@@
-61,7
+61,15
@@
struct fuse_kstatfs {
#define FATTR_SIZE (1 << 3)
#define FATTR_ATIME (1 << 4)
#define FATTR_MTIME (1 << 5)
#define FATTR_SIZE (1 << 3)
#define FATTR_ATIME (1 << 4)
#define FATTR_MTIME (1 << 5)
-#define FATTR_CTIME (1 << 6)
+
+/**
+ * Flags returned by the OPEN request
+ *
+ * FOPEN_DIRECT_IO: bypass page cache for this open file
+ * FOPEN_KEEP_CACHE: don't invalidate the data cache on open
+ */
+#define FOPEN_DIRECT_IO (1 << 0)
+#define FOPEN_KEEP_CACHE (1 << 1)
enum fuse_opcode {
FUSE_LOOKUP = 1,
enum fuse_opcode {
FUSE_LOOKUP = 1,
@@
-70,7
+78,6
@@
enum fuse_opcode {
FUSE_SETATTR = 4,
FUSE_READLINK = 5,
FUSE_SYMLINK = 6,
FUSE_SETATTR = 4,
FUSE_READLINK = 5,
FUSE_SYMLINK = 6,
- FUSE_GETDIR = 7,
FUSE_MKNOD = 8,
FUSE_MKDIR = 9,
FUSE_UNLINK = 10,
FUSE_MKNOD = 8,
FUSE_MKDIR = 9,
FUSE_UNLINK = 10,
@@
-88,7
+95,13
@@
enum fuse_opcode {
FUSE_LISTXATTR = 23,
FUSE_REMOVEXATTR = 24,
FUSE_FLUSH = 25,
FUSE_LISTXATTR = 23,
FUSE_REMOVEXATTR = 24,
FUSE_FLUSH = 25,
- FUSE_INIT = 26
+ FUSE_INIT = 26,
+ FUSE_OPENDIR = 27,
+ FUSE_READDIR = 28,
+ FUSE_RELEASEDIR = 29,
+ FUSE_FSYNCDIR = 30,
+ FUSE_ACCESS = 34,
+ FUSE_CREATE = 35
};
/* Conservative buffer size for the client */
};
/* Conservative buffer size for the client */
@@
-120,10
+133,6
@@
struct fuse_attr_out {
struct fuse_attr attr;
};
struct fuse_attr attr;
};
-struct fuse_getdir_out {
- __u32 fd;
-};
-
struct fuse_mknod_in {
__u32 mode;
__u32 rdev;
struct fuse_mknod_in {
__u32 mode;
__u32 rdev;
@@
-150,7
+159,7
@@
struct fuse_setattr_in {
struct fuse_open_in {
__u32 flags;
struct fuse_open_in {
__u32 flags;
- __u32
padding
;
+ __u32
mode
;
};
struct fuse_open_out {
};
struct fuse_open_out {
@@
-215,6
+224,11
@@
struct fuse_getxattr_out {
__u32 padding;
};
__u32 padding;
};
+struct fuse_access_in {
+ __u32 mask;
+ __u32 padding;
+};
+
struct fuse_init_in_out {
__u32 major;
__u32 minor;
struct fuse_init_in_out {
__u32 major;
__u32 minor;