summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorMarkus Hochholdinger <markus@hochholdinger.net>2021-11-16 13:21:35 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-14 12:57:14 +0300
commit50dacb2289e50a3ef8daf581f93f834147629915 (patch)
tree87a8f94493ea26c94898676ab9bda13ea733284c /drivers/md
parent00cd8a99885c78efad89e84bc07d49d6eea7615c (diff)
downloadlinux-50dacb2289e50a3ef8daf581f93f834147629915.tar.xz
md: fix update super 1.0 on rdev size change
commit 55df1ce0d4e086e05a8ab20619c73c729350f965 upstream. The superblock of version 1.0 doesn't get moved to the new position on a device size change. This leads to a rdev without a superblock on a known position, the raid can't be re-assembled. The line was removed by mistake and is re-added by this patch. Fixes: d9c0fa509eaf ("md: fix max sectors calculation for super 1.0") Cc: stable@vger.kernel.org Signed-off-by: Markus Hochholdinger <markus@hochholdinger.net> Reviewed-by: Xiao Ni <xni@redhat.com> Signed-off-by: Song Liu <songliubraving@fb.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index e89eb467f142..44006b860d0a 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2193,6 +2193,7 @@ super_1_rdev_size_change(struct md_rdev *rdev, sector_t num_sectors)
if (!num_sectors || num_sectors > max_sectors)
num_sectors = max_sectors;
+ rdev->sb_start = sb_start;
}
sb = page_address(rdev->sb_page);
sb->data_size = cpu_to_le64(num_sectors);