diff --git a/drivers/md/md.c b/drivers/md/md.c index 689be615d7be4ed988c6d57a069f2082d5d8797f..324f9df4e429b975e303e69ef4990d0a53ff91a3 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -4210,6 +4210,8 @@ action_show(struct mddev *mddev, char *page) type = "repair"; } else if (test_bit(MD_RECOVERY_RECOVER, &recovery)) type = "recover"; + else if (mddev->reshape_position != MaxSector) + type = "reshape"; } return sprintf(page, "%s\n", type); } diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 967a4ed73929ff44a38d9475c5e362fc2914c758..742b50794dfd6d10c9230a46ea6643fe2af4038c 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -3113,6 +3113,7 @@ static int raid1_reshape(struct mddev *mddev) unfreeze_array(conf); + set_bit(MD_RECOVERY_RECOVER, &mddev->recovery); set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); md_wakeup_thread(mddev->thread);