fuse: Use generic xattr ops

In preparation for posix acl support, rework fuse to use xattr handlers and
the generic setxattr/getxattr/listxattr callbacks.  Split the xattr code
out into it's own file, and promote symbols to module-global scope as
needed.

Functionally these changes have no impact, as fuse still uses a single
handler for all xattrs which uses the old callbacks.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
Seth Forshee
2016-08-29 08:46:36 -05:00
committed by Miklos Szeredi
parent cb3ae6d25a
commit 703c73629f
5 changed files with 221 additions and 176 deletions

View File

@@ -902,6 +902,8 @@ int fuse_allow_current_process(struct fuse_conn *fc);
u64 fuse_lock_owner_id(struct fuse_conn *fc, fl_owner_t id);
void fuse_update_ctime(struct inode *inode);
int fuse_update_attributes(struct inode *inode, struct kstat *stat,
struct file *file, bool *refreshed);
@@ -966,4 +968,7 @@ void fuse_set_initialized(struct fuse_conn *fc);
void fuse_unlock_inode(struct inode *inode);
void fuse_lock_inode(struct inode *inode);
ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size);
extern const struct xattr_handler *fuse_xattr_handlers[];
#endif /* _FS_FUSE_I_H */