diff options
author | Vyacheslav Dubeyko <slava@dubeyko.com> | 2013-09-11 17:24:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-11 18:59:01 -0400 |
commit | b4c1107cc962613ea3572e5abba861a35d494b98 (patch) | |
tree | 9e83d6f00b37cb65a8e2f2ef435bead7b662c10f /fs/hfsplus/xattr.h | |
parent | eef80d4ad1399067f26538a7dd56ff3df71e9278 (diff) |
hfsplus: integrate POSIX ACLs support into driver
Integrate implemented POSIX ACLs support into hfsplus driver.
Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/hfsplus/xattr.h')
-rw-r--r-- | fs/hfsplus/xattr.h | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/fs/hfsplus/xattr.h b/fs/hfsplus/xattr.h index 847b695b984d..841b5698c0fc 100644 --- a/fs/hfsplus/xattr.h +++ b/fs/hfsplus/xattr.h | |||
@@ -14,8 +14,8 @@ | |||
14 | extern const struct xattr_handler hfsplus_xattr_osx_handler; | 14 | extern const struct xattr_handler hfsplus_xattr_osx_handler; |
15 | extern const struct xattr_handler hfsplus_xattr_user_handler; | 15 | extern const struct xattr_handler hfsplus_xattr_user_handler; |
16 | extern const struct xattr_handler hfsplus_xattr_trusted_handler; | 16 | extern const struct xattr_handler hfsplus_xattr_trusted_handler; |
17 | /*extern const struct xattr_handler hfsplus_xattr_acl_access_handler;*/ | 17 | extern const struct xattr_handler hfsplus_xattr_acl_access_handler; |
18 | /*extern const struct xattr_handler hfsplus_xattr_acl_default_handler;*/ | 18 | extern const struct xattr_handler hfsplus_xattr_acl_default_handler; |
19 | extern const struct xattr_handler hfsplus_xattr_security_handler; | 19 | extern const struct xattr_handler hfsplus_xattr_security_handler; |
20 | 20 | ||
21 | extern const struct xattr_handler *hfsplus_xattr_handlers[]; | 21 | extern const struct xattr_handler *hfsplus_xattr_handlers[]; |
@@ -29,9 +29,17 @@ static inline int hfsplus_setxattr(struct dentry *dentry, const char *name, | |||
29 | return __hfsplus_setxattr(dentry->d_inode, name, value, size, flags); | 29 | return __hfsplus_setxattr(dentry->d_inode, name, value, size, flags); |
30 | } | 30 | } |
31 | 31 | ||
32 | ssize_t hfsplus_getxattr(struct dentry *dentry, const char *name, | 32 | ssize_t __hfsplus_getxattr(struct inode *inode, const char *name, |
33 | void *value, size_t size); | 33 | void *value, size_t size); |
34 | 34 | ||
35 | static inline ssize_t hfsplus_getxattr(struct dentry *dentry, | ||
36 | const char *name, | ||
37 | void *value, | ||
38 | size_t size) | ||
39 | { | ||
40 | return __hfsplus_getxattr(dentry->d_inode, name, value, size); | ||
41 | } | ||
42 | |||
35 | ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size); | 43 | ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size); |
36 | 44 | ||
37 | int hfsplus_removexattr(struct dentry *dentry, const char *name); | 45 | int hfsplus_removexattr(struct dentry *dentry, const char *name); |
@@ -39,22 +47,7 @@ int hfsplus_removexattr(struct dentry *dentry, const char *name); | |||
39 | int hfsplus_init_security(struct inode *inode, struct inode *dir, | 47 | int hfsplus_init_security(struct inode *inode, struct inode *dir, |
40 | const struct qstr *qstr); | 48 | const struct qstr *qstr); |
41 | 49 | ||
42 | static inline int hfsplus_init_acl(struct inode *inode, struct inode *dir) | 50 | int hfsplus_init_inode_security(struct inode *inode, struct inode *dir, |
43 | { | 51 | const struct qstr *qstr); |
44 | /*TODO: implement*/ | ||
45 | return 0; | ||
46 | } | ||
47 | |||
48 | static inline int hfsplus_init_inode_security(struct inode *inode, | ||
49 | struct inode *dir, | ||
50 | const struct qstr *qstr) | ||
51 | { | ||
52 | int err; | ||
53 | |||
54 | err = hfsplus_init_acl(inode, dir); | ||
55 | if (!err) | ||
56 | err = hfsplus_init_security(inode, dir, qstr); | ||
57 | return err; | ||
58 | } | ||
59 | 52 | ||
60 | #endif | 53 | #endif |