]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Move code to get_data_disks() function
authorAdam Kwolek <adam.kwolek@intel.com>
Sun, 2 Oct 2011 22:57:12 +0000 (09:57 +1100)
committerNeilBrown <neilb@suse.de>
Sun, 2 Oct 2011 22:57:12 +0000 (09:57 +1100)
Move code to function for code reuse.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
mdadm.h
util.c

diff --git a/mdadm.h b/mdadm.h
index 989d56385852a360642ce3d9fb78121db4ff4834..f219c959c73915b85fb205f8603d832d9bb63297 100644 (file)
--- a/mdadm.h
+++ b/mdadm.h
@@ -1157,6 +1157,7 @@ extern unsigned long long get_component_size(int fd);
 extern void remove_partitions(int fd);
 extern int test_partition(int fd);
 extern int test_partition_from_id(dev_t id);
+extern int get_data_disks(int level, int layout, int raid_disks);
 extern unsigned long long calc_array_size(int level, int raid_disks, int layout,
                                   int chunksize, unsigned long long devsize);
 extern int flush_metadata_updates(struct supertype *st);
diff --git a/util.c b/util.c
index 0ea7e0d27d8a3cd347fbcc255141f0d11ef0aa30..50c98c1cabac335052132f4d411846647258a1d6 100644 (file)
--- a/util.c
+++ b/util.c
@@ -702,6 +702,12 @@ void print_r10_layout(int layout)
 
 unsigned long long calc_array_size(int level, int raid_disks, int layout,
                                   int chunksize, unsigned long long devsize)
+{
+       devsize &= ~(unsigned long long)((chunksize>>9)-1);
+       return get_data_disks(level, layout, raid_disks) * devsize;
+}
+
+int get_data_disks(int level, int layout, int raid_disks)
 {
        int data_disks = 0;
        switch (level) {
@@ -713,8 +719,8 @@ unsigned long long calc_array_size(int level, int raid_disks, int layout,
        case 10: data_disks = raid_disks / (layout & 255) / ((layout>>8)&255);
                break;
        }
-       devsize &= ~(unsigned long long)((chunksize>>9)-1);
-       return data_disks * devsize;
+
+       return data_disks;
 }
 
 #if !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO)