diff options
Diffstat (limited to 'include/uapi/linux/btrfs.h')
-rw-r--r-- | include/uapi/linux/btrfs.h | 20 |
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 | ||
187 | struct btrfs_ioctl_feature_flags { | 192 | struct 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 | ||
310 | struct 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 | |||
304 | struct btrfs_ioctl_clone_range_args { | 318 | struct 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) |