brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · fe730a6 Raw
61 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _BCACHEFS_ACL_H3#define _BCACHEFS_ACL_H4 5struct bch_inode_unpacked;6struct bch_hash_info;7struct bch_inode_info;8struct posix_acl;9 10#define BCH_ACL_VERSION	0x000111 12typedef struct {13	__le16		e_tag;14	__le16		e_perm;15	__le32		e_id;16} bch_acl_entry;17 18typedef struct {19	__le16		e_tag;20	__le16		e_perm;21} bch_acl_entry_short;22 23typedef struct {24	__le32		a_version;25} bch_acl_header;26 27void bch2_acl_to_text(struct printbuf *, const void *, size_t);28 29#ifdef CONFIG_BCACHEFS_POSIX_ACL30 31struct posix_acl *bch2_get_acl(struct inode *, int, bool);32 33int bch2_set_acl_trans(struct btree_trans *, subvol_inum,34		       struct bch_inode_unpacked *,35		       struct posix_acl *, int);36int bch2_set_acl(struct mnt_idmap *, struct dentry *, struct posix_acl *, int);37int bch2_acl_chmod(struct btree_trans *, subvol_inum,38		   struct bch_inode_unpacked *,39		   umode_t, struct posix_acl **);40 41#else42 43static 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)46{47	return 0;48}49 50static inline int bch2_acl_chmod(struct btree_trans *trans, subvol_inum inum,51				 struct bch_inode_unpacked *inode,52				 umode_t mode,53				 struct posix_acl **new_acl)54{55	return 0;56}57 58#endif /* CONFIG_BCACHEFS_POSIX_ACL */59 60#endif /* _BCACHEFS_ACL_H */61