md: fix data corruption for raid456 when reshape restart while grow up
authorYu Kuai <yukuai3@huawei.com>
Fri, 12 May 2023 01:56:07 +0000 (09:56 +0800)
committerSong Liu <song@kernel.org>
Tue, 13 Jun 2023 22:13:20 +0000 (15:13 -0700)
commit873f50ece41aad5c4f788a340960c53774b5526e
tree3a56cbbf1a4e849832489ce68293bd5774aaffc2
parent46038b30b308c3ebf49e79548f109d00a8d74b31
md: fix data corruption for raid456 when reshape restart while grow up

Currently, if reshape is interrupted, echo "reshape" to sync_action will
restart reshape from scratch, for example:

echo frozen > sync_action
echo reshape > sync_action

This will corrupt data before reshape_position if the array is growing,
fix the problem by continue reshape from reshape_position.

Reported-by: Peter Neuwirth <reddunur@online.de>
Link: https://lore.kernel.org/linux-raid/e2f96772-bfbc-f43b-6da1-f520e5164536@online.de/
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20230512015610.821290-3-yukuai1@huaweicloud.com
drivers/md/md.c