diff options
author | NeilBrown <neilb@suse.de> | 2013-06-24 16:24:08 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2013-06-24 16:24:08 +1000 |
commit | 0ddc35beedea6f07c686c99429aaddd8b5e1182d (patch) | |
tree | 19dd8417ba220b6cdc933f62b3684ba31ad4cc37 /super1.c | |
parent | 1c8b90df155c7eef46f56986eeef911b9744e70a (diff) |
super1: fix space_{before,after} for RAID0
For RAID0 we need to use 'data_size', no 'size' as later is 0.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'super1.c')
-rw-r--r-- | super1.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -911,7 +911,10 @@ static void getinfo_super1(struct supertype *st, struct mdinfo *info, char *map) role = __le16_to_cpu(sb->dev_roles[__le32_to_cpu(sb->dev_number)]); super_offset = __le64_to_cpu(sb->super_offset); - data_size = __le64_to_cpu(sb->size); + if (info->array.level <= 0) + data_size = __le64_to_cpu(sb->data_size); + else + data_size = __le64_to_cpu(sb->size); if (info->data_offset < super_offset) { unsigned long long end; info->space_before = info->data_offset; |