btrfs-progs: Move chunk stripe size calculation function to volumes.h
authorQu Wenruo <wqu@suse.com>
Fri, 9 Feb 2018 07:44:26 +0000 (15:44 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 6 Mar 2018 10:28:26 +0000 (11:28 +0100)
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
check/main.c
volumes.h

index 97baae5..8ad7ab0 100644 (file)
@@ -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.
index bc3516a..5bcaae7 100644 (file)
--- 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,