diff --git a/kernel-shared/volumes.c b/kernel-shared/volumes.c index d924035b..a55bc8d3 100644 --- a/kernel-shared/volumes.c +++ b/kernel-shared/volumes.c @@ -238,6 +238,13 @@ int btrfs_bg_type_to_nparity(u64 flags) return btrfs_raid_array[index].nparity; } +int btrfs_bg_type_to_sub_stripes(u64 flags) +{ + const int index = btrfs_bg_flags_to_raid_index(flags); + + return btrfs_raid_array[index].sub_stripes; +} + static inline int nr_data_stripes(struct map_lookup *map) { return map->num_stripes - btrfs_bg_type_to_nparity(map->type); diff --git a/kernel-shared/volumes.h b/kernel-shared/volumes.h index a2e44bfa..58d882c1 100644 --- a/kernel-shared/volumes.h +++ b/kernel-shared/volumes.h @@ -311,5 +311,6 @@ int btrfs_bg_type_to_tolerated_failures(u64 flags); int btrfs_bg_type_to_devs_min(u64 flags); int btrfs_bg_type_to_ncopies(u64 flags); int btrfs_bg_type_to_nparity(u64 flags); +int btrfs_bg_type_to_sub_stripes(u64 flags); #endif