@@ -30,6 +30,7 @@ pub type __kernel_ssize_t = __kernel_long_t;
3030pub type __kernel_ptrdiff_t = __kernel_long_t ;
3131pub type __kernel_off_t = __kernel_long_t ;
3232pub type __kernel_loff_t = crate :: ctypes:: c_longlong ;
33+ pub type __kernel_uoff_t = crate :: ctypes:: c_ulonglong ;
3334pub type __kernel_old_time_t = __kernel_long_t ;
3435pub type __kernel_time_t = __kernel_long_t ;
3536pub type __kernel_time64_t = crate :: ctypes:: c_longlong ;
@@ -173,10 +174,10 @@ pub __spare2: [__u64; 43usize],
173174pub str_ : __IncompleteArrayField < crate :: ctypes:: c_char > ,
174175}
175176#[ repr( C ) ]
176- #[ derive( Debug , Copy , Clone ) ]
177+ #[ derive( Copy , Clone ) ]
177178pub struct mnt_id_req {
178179pub size : __u32 ,
179- pub spare : __u32 ,
180+ pub __bindgen_anon_1 : mnt_id_req__bindgen_ty_1 ,
180181pub mnt_id : __u64 ,
181182pub param : __u64 ,
182183pub mnt_ns_id : __u64 ,
@@ -741,7 +742,7 @@ pub dirid: __u64,
741742#[ repr( C ) ]
742743#[ derive( Debug , Copy , Clone ) ]
743744pub struct btrfs_ioctl_encoded_io_args {
744- pub iov : * const iovec ,
745+ pub iov : * mut iovec ,
745746pub iovcnt : crate :: ctypes:: c_ulong ,
746747pub offset : __s64 ,
747748pub flags : __u64 ,
@@ -912,7 +913,10 @@ pub cache_generation: __le64,
912913pub uuid_tree_generation : __le64 ,
913914pub metadata_uuid : [ __u8 ; 16usize ] ,
914915pub nr_global_roots : __u64 ,
915- pub reserved : [ __le64 ; 27usize ] ,
916+ pub remap_root : __le64 ,
917+ pub remap_root_generation : __le64 ,
918+ pub remap_root_level : __u8 ,
919+ pub reserved : [ __u8 ; 199usize ] ,
916920pub sys_chunk_array : [ __u8 ; 2048usize ] ,
917921pub super_roots : [ btrfs_root_backup ; 4usize ] ,
918922pub padding : [ __u8 ; 565usize ] ,
@@ -1176,6 +1180,15 @@ pub flags: __le64,
11761180}
11771181#[ repr( C , packed) ]
11781182#[ derive( Debug , Copy , Clone ) ]
1183+ pub struct btrfs_block_group_item_v2 {
1184+ pub used : __le64 ,
1185+ pub chunk_objectid : __le64 ,
1186+ pub flags : __le64 ,
1187+ pub remap_bytes : __le64 ,
1188+ pub identity_remap_count : __le32 ,
1189+ }
1190+ #[ repr( C , packed) ]
1191+ #[ derive( Debug , Copy , Clone ) ]
11791192pub struct btrfs_free_space_info {
11801193pub extent_count : __le32 ,
11811194pub flags : __le32 ,
@@ -1214,6 +1227,11 @@ pub size: __le64,
12141227pub reserved : [ __le64 ; 2usize ] ,
12151228pub encryption : __u8 ,
12161229}
1230+ #[ repr( C , packed) ]
1231+ #[ derive( Debug , Copy , Clone ) ]
1232+ pub struct btrfs_remap_item {
1233+ pub address : __le64 ,
1234+ }
12171235#[ repr( C ) ]
12181236#[ derive( Debug , Copy , Clone ) ]
12191237pub struct iovec {
@@ -1340,6 +1358,7 @@ pub const MS_RMT_MASK: u32 = 41943121;
13401358pub const MS_MGC_VAL : u32 = 3236757504 ;
13411359pub const MS_MGC_MSK : u32 = 4294901760 ;
13421360pub const OPEN_TREE_CLONE : u32 = 1 ;
1361+ pub const OPEN_TREE_NAMESPACE : u32 = 2 ;
13431362pub const MOVE_MOUNT_F_SYMLINKS : u32 = 1 ;
13441363pub const MOVE_MOUNT_F_AUTOMOUNTS : u32 = 2 ;
13451364pub const MOVE_MOUNT_F_EMPTY_PATH : u32 = 4 ;
@@ -1386,6 +1405,7 @@ pub const STATMOUNT_MNT_UIDMAP: u32 = 8192;
13861405pub const STATMOUNT_MNT_GIDMAP : u32 = 16384 ;
13871406pub const LSMT_ROOT : i32 = -1 ;
13881407pub const LISTMOUNT_REVERSE : u32 = 1 ;
1408+ pub const STATMOUNT_BY_FD : u32 = 1 ;
13891409pub const INR_OPEN_CUR : u32 = 1024 ;
13901410pub const INR_OPEN_MAX : u32 = 4096 ;
13911411pub const BLOCK_SIZE_BITS : u32 = 10 ;
@@ -1431,6 +1451,7 @@ pub const FS_XFLAG_NODEFRAG: u32 = 8192;
14311451pub const FS_XFLAG_FILESTREAM : u32 = 16384 ;
14321452pub const FS_XFLAG_DAX : u32 = 32768 ;
14331453pub const FS_XFLAG_COWEXTSIZE : u32 = 65536 ;
1454+ pub const FS_XFLAG_VERITY : u32 = 131072 ;
14341455pub const FS_XFLAG_HASATTR : u32 = 2147483648 ;
14351456pub const BMAP_IOCTL : u32 = 1 ;
14361457pub const FSLABEL_MAX : u32 = 256 ;
@@ -1547,6 +1568,7 @@ pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096;
15471568pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2 : u32 = 8192 ;
15481569pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE : u32 = 16384 ;
15491570pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA : u32 = 65536 ;
1571+ pub const BTRFS_FEATURE_INCOMPAT_REMAP_TREE : u32 = 131072 ;
15501572pub const BTRFS_BALANCE_CTL_PAUSE : u32 = 1 ;
15511573pub const BTRFS_BALANCE_CTL_CANCEL : u32 = 2 ;
15521574pub const BTRFS_BALANCE_DATA : u32 = 1 ;
@@ -1607,6 +1629,10 @@ pub const BTRFS_SUBVOL_SYNC_WAIT_FOR_QUEUED: u32 = 1;
16071629pub const BTRFS_SUBVOL_SYNC_COUNT : u32 = 2 ;
16081630pub const BTRFS_SUBVOL_SYNC_PEEK_FIRST : u32 = 3 ;
16091631pub const BTRFS_SUBVOL_SYNC_PEEK_LAST : u32 = 4 ;
1632+ pub const BTRFS_SHUTDOWN_FLAGS_DEFAULT : u32 = 0 ;
1633+ pub const BTRFS_SHUTDOWN_FLAGS_LOGFLUSH : u32 = 1 ;
1634+ pub const BTRFS_SHUTDOWN_FLAGS_NOLOGFLUSH : u32 = 2 ;
1635+ pub const BTRFS_SHUTDOWN_FLAGS_LAST : u32 = 3 ;
16101636pub const BTRFS_MAGIC : u64 = 5575266562640200287 ;
16111637pub const BTRFS_MAX_LEVEL : u32 = 8 ;
16121638pub const BTRFS_NAME_LEN : u32 = 255 ;
@@ -1623,6 +1649,7 @@ pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9;
16231649pub const BTRFS_FREE_SPACE_TREE_OBJECTID : u32 = 10 ;
16241650pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID : u32 = 11 ;
16251651pub const BTRFS_RAID_STRIPE_TREE_OBJECTID : u32 = 12 ;
1652+ pub const BTRFS_REMAP_TREE_OBJECTID : u32 = 13 ;
16261653pub const BTRFS_DEV_STATS_OBJECTID : u32 = 0 ;
16271654pub const BTRFS_BALANCE_OBJECTID : i32 = -4 ;
16281655pub const BTRFS_ORPHAN_OBJECTID : i32 = -5 ;
@@ -1672,6 +1699,9 @@ pub const BTRFS_DEV_EXTENT_KEY: u32 = 204;
16721699pub const BTRFS_DEV_ITEM_KEY : u32 = 216 ;
16731700pub const BTRFS_CHUNK_ITEM_KEY : u32 = 228 ;
16741701pub const BTRFS_RAID_STRIPE_KEY : u32 = 230 ;
1702+ pub const BTRFS_IDENTITY_REMAP_KEY : u32 = 234 ;
1703+ pub const BTRFS_REMAP_KEY : u32 = 235 ;
1704+ pub const BTRFS_REMAP_BACKREF_KEY : u32 = 236 ;
16751705pub const BTRFS_QGROUP_STATUS_KEY : u32 = 240 ;
16761706pub const BTRFS_QGROUP_INFO_KEY : u32 = 242 ;
16771707pub const BTRFS_QGROUP_LIMIT_KEY : u32 = 244 ;
@@ -1751,7 +1781,9 @@ pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128;
17511781pub const BTRFS_BLOCK_GROUP_RAID6 : u32 = 256 ;
17521782pub const BTRFS_BLOCK_GROUP_RAID1C3 : u32 = 512 ;
17531783pub const BTRFS_BLOCK_GROUP_RAID1C4 : u32 = 1024 ;
1754- pub const BTRFS_BLOCK_GROUP_TYPE_MASK : u32 = 7 ;
1784+ pub const BTRFS_BLOCK_GROUP_REMAPPED : u32 = 2048 ;
1785+ pub const BTRFS_BLOCK_GROUP_METADATA_REMAP : u32 = 4096 ;
1786+ pub const BTRFS_BLOCK_GROUP_TYPE_MASK : u32 = 4103 ;
17551787pub const BTRFS_BLOCK_GROUP_PROFILE_MASK : u32 = 2040 ;
17561788pub const BTRFS_BLOCK_GROUP_RAID56_MASK : u32 = 384 ;
17571789pub const BTRFS_BLOCK_GROUP_RAID1_MASK : u32 = 1552 ;
@@ -1861,6 +1893,12 @@ pub identifier: [__u8; 16usize],
18611893}
18621894#[ repr( C ) ]
18631895#[ derive( Copy , Clone ) ]
1896+ pub union mnt_id_req__bindgen_ty_1 {
1897+ pub mnt_ns_fd : __u32 ,
1898+ pub mnt_fd : __u32 ,
1899+ }
1900+ #[ repr( C ) ]
1901+ #[ derive( Copy , Clone ) ]
18641902pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 {
18651903pub __bindgen_anon_1 : btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 ,
18661904pub unused : [ __u64 ; 4usize ] ,
0 commit comments