xref: /linux/fs/btrfs/ioctl.h (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifndef BTRFS_IOCTL_H
4 #define BTRFS_IOCTL_H
5 
6 #include <linux/types.h>
7 
8 struct file;
9 struct dentry;
10 struct mnt_idmap;
11 struct fileattr;
12 struct btrfs_fs_info;
13 struct btrfs_ioctl_balance_args;
14 
15 long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
16 long btrfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
17 int btrfs_fileattr_get(struct dentry *dentry, struct fileattr *fa);
18 int btrfs_fileattr_set(struct mnt_idmap *idmap,
19 		       struct dentry *dentry, struct fileattr *fa);
20 int btrfs_ioctl_get_supported_features(void __user *arg);
21 void btrfs_sync_inode_flags_to_i_flags(struct inode *inode);
22 int __pure btrfs_is_empty_uuid(const u8 *uuid);
23 void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info,
24 				     struct btrfs_ioctl_balance_args *bargs);
25 int btrfs_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags);
26 void btrfs_uring_read_extent_endio(void *ctx, int err);
27 
28 #endif
29