From: NeilBrown Date: Mon, 27 May 2013 05:18:07 +0000 (+1000) Subject: super1: set RESHAPE_NO_BACKUP based on new_offset. X-Git-Tag: mdadm-3.3-rc1~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26bf55874d9fa6ca856455a6f112225825fde3c9;p=thirdparty%2Fmdadm.git 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 --- diff --git a/super1.c b/super1.c index d92e5945..a9ca2169 100644 --- a/super1.c +++ b/super1.c @@ -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);