aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/btrfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/btrfs.h')
-rw-r--r--include/uapi/linux/btrfs.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h
index b4d69092fbdb..2f47824e7a36 100644
--- a/include/uapi/linux/btrfs.h
+++ b/include/uapi/linux/btrfs.h
@@ -38,6 +38,7 @@ struct btrfs_ioctl_vol_args {
38#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2) 38#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
39#define BTRFS_FSID_SIZE 16 39#define BTRFS_FSID_SIZE 16
40#define BTRFS_UUID_SIZE 16 40#define BTRFS_UUID_SIZE 16
41#define BTRFS_UUID_UNPARSED_SIZE 37
41 42
42#define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0) 43#define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0)
43 44
@@ -181,7 +182,11 @@ struct btrfs_ioctl_fs_info_args {
181 __u64 max_id; /* out */ 182 __u64 max_id; /* out */
182 __u64 num_devices; /* out */ 183 __u64 num_devices; /* out */
183 __u8 fsid[BTRFS_FSID_SIZE]; /* out */ 184 __u8 fsid[BTRFS_FSID_SIZE]; /* out */
184 __u64 reserved[124]; /* pad to 1k */ 185 __u32 nodesize; /* out */
186 __u32 sectorsize; /* out */
187 __u32 clone_alignment; /* out */
188 __u32 reserved32;
189 __u64 reserved[122]; /* pad to 1k */
185}; 190};
186 191
187struct btrfs_ioctl_feature_flags { 192struct btrfs_ioctl_feature_flags {
@@ -211,7 +216,8 @@ struct btrfs_balance_args {
211 216
212 __u64 flags; 217 __u64 flags;
213 218
214 __u64 unused[8]; 219 __u64 limit; /* limit number of processed chunks */
220 __u64 unused[7];
215} __attribute__ ((__packed__)); 221} __attribute__ ((__packed__));
216 222
217/* report balance progress to userspace */ 223/* report balance progress to userspace */
@@ -301,6 +307,14 @@ struct btrfs_ioctl_search_args {
301 char buf[BTRFS_SEARCH_ARGS_BUFSIZE]; 307 char buf[BTRFS_SEARCH_ARGS_BUFSIZE];
302}; 308};
303 309
310struct btrfs_ioctl_search_args_v2 {
311 struct btrfs_ioctl_search_key key; /* in/out - search parameters */
312 __u64 buf_size; /* in - size of buffer
313 * out - on EOVERFLOW: needed size
314 * to store item */
315 __u64 buf[0]; /* out - found items */
316};
317
304struct btrfs_ioctl_clone_range_args { 318struct btrfs_ioctl_clone_range_args {
305 __s64 src_fd; 319 __s64 src_fd;
306 __u64 src_offset, src_length; 320 __u64 src_offset, src_length;
@@ -553,6 +567,8 @@ static inline char *btrfs_err_str(enum btrfs_err_code err_code)
553 struct btrfs_ioctl_defrag_range_args) 567 struct btrfs_ioctl_defrag_range_args)
554#define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \ 568#define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \
555 struct btrfs_ioctl_search_args) 569 struct btrfs_ioctl_search_args)
570#define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \
571 struct btrfs_ioctl_search_args_v2)
556#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \ 572#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \
557 struct btrfs_ioctl_ino_lookup_args) 573 struct btrfs_ioctl_ino_lookup_args)
558#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64) 574#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64)