1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef BTRFS_ACL_H
4#define BTRFS_ACL_H
5
6struct posix_acl;
7struct inode;
8struct btrfs_trans_handle;
9
10#ifdef CONFIG_BTRFS_FS_POSIX_ACL
11
12struct mnt_idmap;
13struct dentry;
14
15struct posix_acl *btrfs_get_acl(struct inode *inode, int type, bool rcu);
16int btrfs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
17		  struct posix_acl *acl, int type);
18int __btrfs_set_acl(struct btrfs_trans_handle *trans, struct inode *inode,
19		    struct posix_acl *acl, int type);
20
21#else
22
23#include <linux/errno.h>
24
25struct btrfs_trans_handle;
26
27#define btrfs_get_acl NULL
28#define btrfs_set_acl NULL
29static inline int __btrfs_set_acl(struct btrfs_trans_handle *trans,
30				  struct inode *inode, struct posix_acl *acl,
31				  int type)
32{
33	return -EOPNOTSUPP;
34}
35
36#endif
37
38#endif
39