super1: set RESHAPE_NO_BACKUP based on new_offset.

We need to check for a backup iff the data_offset has changed.
Testing against level==10 was an effective but short-sighted approach.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2013-05-27 15:18:07 +10:00
parent f9b08fecd8
commit 26bf55874d
1 changed files with 2 additions and 1 deletions

View File

@ -1006,7 +1006,8 @@ static void getinfo_super1(struct supertype *st, struct mdinfo *info, char *map)
if (sb->feature_map & __le32_to_cpu(MD_FEATURE_RESHAPE_ACTIVE)) {
info->reshape_active = 1;
if (info->array.level == 10)
if ((sb->feature_map & __le32_to_cpu(MD_FEATURE_NEW_OFFSET)) &&
sb->new_offset != 0)
info->reshape_active |= RESHAPE_NO_BACKUP;
info->reshape_progress = __le64_to_cpu(sb->reshape_position);
info->new_level = __le32_to_cpu(sb->new_level);