]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Better error messages for broken reshape
authorMateusz Kusiak <mateusz.kusiak@intel.com>
Thu, 10 Oct 2024 12:45:11 +0000 (12:45 +0000)
committerMariusz Tkaczyk <mtkaczyk@kernel.org>
Mon, 13 Jan 2025 09:24:49 +0000 (10:24 +0100)
mdadm --grow --continue has no functionality to restore critical sectors
if reshape was stopped during operation. This functionality belongs to
assemble or incremental.

This patch adds hints to error messages, to try to reassemble array in
case of reshape failure to restore critical sector, so assemble can
handle restoration.

Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
Grow.c
super-intel.c

diff --git a/Grow.c b/Grow.c
index 2719346c58a3ee100aacebfe66a3856e66ed52ab..818eb6a43b949643c36482654336f895434e09b0 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -2387,6 +2387,7 @@ static int verify_reshape_position(struct mdinfo *info, int level)
                        } else if (info->reshape_progress > position) {
                                pr_err("Fatal error: array reshape was not properly frozen (expected reshape position is %llu, but reshape progress is %llu.\n",
                                       position, info->reshape_progress);
+                               pr_err("Reassemble array to try to restore critical sector.\n");
                                ret_val = -1;
                        } else {
                                dprintf("Reshape position in md and metadata are the same;");
index 7e3c5f2b70479b5f708a912d700a318412925622..cab841980830e371b1e0f1afc4b63809cd12ae04 100644 (file)
@@ -12596,7 +12596,8 @@ static int imsm_manage_reshape(
                init_migr_record_imsm(st, dev, sra);
        else {
                if (__le32_to_cpu(migr_rec->rec_status) != UNIT_SRC_NORMAL) {
-                       dprintf("imsm: cannot restart migration when data are present in copy area.\n");
+                       pr_err("imsm: Cannot restart migration when data are present in copy area.\n"
+                              "      Reassemble array to try to restore critical sector.\n");
                        goto abort;
                }
                /* Save checkpoint to update migration record for current