1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_ACL_H
3 #define _BCACHEFS_ACL_H
5 struct bch_inode_unpacked
;
10 #define BCH_ACL_VERSION 0x0001
21 } bch_acl_entry_short
;
27 void bch2_acl_to_text(struct printbuf
*, const void *, size_t);
29 #ifdef CONFIG_BCACHEFS_POSIX_ACL
31 struct posix_acl
*bch2_get_acl(struct inode
*, int, bool);
33 int bch2_set_acl_trans(struct btree_trans
*, subvol_inum
,
34 struct bch_inode_unpacked
*,
35 struct posix_acl
*, int);
36 int bch2_set_acl(struct mnt_idmap
*, struct dentry
*, struct posix_acl
*, int);
37 int bch2_acl_chmod(struct btree_trans
*, subvol_inum
,
38 struct bch_inode_unpacked
*,
39 umode_t
, struct posix_acl
**);
43 static inline int bch2_set_acl_trans(struct btree_trans
*trans
, subvol_inum inum
,
44 struct bch_inode_unpacked
*inode_u
,
45 struct posix_acl
*acl
, int type
)
50 static inline int bch2_acl_chmod(struct btree_trans
*trans
, subvol_inum inum
,
51 struct bch_inode_unpacked
*inode
,
53 struct posix_acl
**new_acl
)
58 #endif /* CONFIG_BCACHEFS_POSIX_ACL */
60 #endif /* _BCACHEFS_ACL_H */