[PATCH] FUSE - extended attribute operations
This patch adds the extended attribute operations to FUSE.
The following operations are added:
o getxattr
o setxattr
o listxattr
o removexattr
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index 61f3463..bf564ed 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -80,6 +80,10 @@
FUSE_STATFS = 17,
FUSE_RELEASE = 18,
FUSE_FSYNC = 20,
+ FUSE_SETXATTR = 21,
+ FUSE_GETXATTR = 22,
+ FUSE_LISTXATTR = 23,
+ FUSE_REMOVEXATTR = 24,
FUSE_FLUSH = 25,
FUSE_INIT = 26
};
@@ -89,6 +93,7 @@
#define FUSE_NAME_MAX 1024
#define FUSE_SYMLINK_MAX 4096
+#define FUSE_XATTR_SIZE_MAX 4096
struct fuse_entry_out {
__u64 nodeid; /* Inode ID */
@@ -183,6 +188,19 @@
__u32 fsync_flags;
};
+struct fuse_setxattr_in {
+ __u32 size;
+ __u32 flags;
+};
+
+struct fuse_getxattr_in {
+ __u32 size;
+};
+
+struct fuse_getxattr_out {
+ __u32 size;
+};
+
struct fuse_init_in_out {
__u32 major;
__u32 minor;