From 2ac42077c2d0edf5fc74c7ccff6b2fb71b3d7ff6 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Fri, 9 Feb 2018 15:44:26 +0800 Subject: btrfs-progs: Move chunk stripe size calculation function to volumes.h Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- check/main.c | 22 ---------------------- volumes.h | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/check/main.c b/check/main.c index 97baae58..8ad7ab03 100644 --- a/check/main.c +++ b/check/main.c @@ -7638,28 +7638,6 @@ repair_abort: return err; } -u64 calc_stripe_length(u64 type, u64 length, int num_stripes) -{ - u64 stripe_size; - - if (type & BTRFS_BLOCK_GROUP_RAID0) { - stripe_size = length; - stripe_size /= num_stripes; - } else if (type & BTRFS_BLOCK_GROUP_RAID10) { - stripe_size = length * 2; - stripe_size /= num_stripes; - } else if (type & BTRFS_BLOCK_GROUP_RAID5) { - stripe_size = length; - stripe_size /= (num_stripes - 1); - } else if (type & BTRFS_BLOCK_GROUP_RAID6) { - stripe_size = length; - stripe_size /= (num_stripes - 2); - } else { - stripe_size = length; - } - return stripe_size; -} - /* * Check the chunk with its block group/dev list ref: * Return 0 if all refs seems valid. diff --git a/volumes.h b/volumes.h index bc3516aa..5bcaae7f 100644 --- a/volumes.h +++ b/volumes.h @@ -209,6 +209,28 @@ static inline int check_crossing_stripes(struct btrfs_fs_info *fs_info, (bg_offset + len - 1) / BTRFS_STRIPE_LEN); } +static inline u64 calc_stripe_length(u64 type, u64 length, int num_stripes) +{ + u64 stripe_size; + + if (type & BTRFS_BLOCK_GROUP_RAID0) { + stripe_size = length; + stripe_size /= num_stripes; + } else if (type & BTRFS_BLOCK_GROUP_RAID10) { + stripe_size = length * 2; + stripe_size /= num_stripes; + } else if (type & BTRFS_BLOCK_GROUP_RAID5) { + stripe_size = length; + stripe_size /= (num_stripes - 1); + } else if (type & BTRFS_BLOCK_GROUP_RAID6) { + stripe_size = length; + stripe_size /= (num_stripes - 2); + } else { + stripe_size = length; + } + return stripe_size; +} + int __btrfs_map_block(struct btrfs_fs_info *fs_info, int rw, u64 logical, u64 *length, u64 *type, struct btrfs_multi_bio **multi_ret, int mirror_num, -- cgit v1.2.3