0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef __F2FS_ACL_H__
0013 #define __F2FS_ACL_H__
0014
0015 #include <linux/posix_acl_xattr.h>
0016
0017 #define F2FS_ACL_VERSION 0x0001
0018
0019 struct f2fs_acl_entry {
0020 __le16 e_tag;
0021 __le16 e_perm;
0022 __le32 e_id;
0023 };
0024
0025 struct f2fs_acl_entry_short {
0026 __le16 e_tag;
0027 __le16 e_perm;
0028 };
0029
0030 struct f2fs_acl_header {
0031 __le32 a_version;
0032 };
0033
0034 #ifdef CONFIG_F2FS_FS_POSIX_ACL
0035
0036 extern struct posix_acl *f2fs_get_acl(struct inode *, int, bool);
0037 extern int f2fs_set_acl(struct user_namespace *, struct inode *,
0038 struct posix_acl *, int);
0039 extern int f2fs_init_acl(struct inode *, struct inode *, struct page *,
0040 struct page *);
0041 #else
0042 #define f2fs_get_acl NULL
0043 #define f2fs_set_acl NULL
0044
0045 static inline int f2fs_init_acl(struct inode *inode, struct inode *dir,
0046 struct page *ipage, struct page *dpage)
0047 {
0048 return 0;
0049 }
0050 #endif
0051 #endif