]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Grow: --backup-file and --data-offset are incompatible.
authorNeilBrown <neilb@suse.de>
Tue, 21 May 2013 06:40:23 +0000 (16:40 +1000)
committerNeilBrown <neilb@suse.de>
Wed, 22 May 2013 02:26:35 +0000 (12:26 +1000)
So report if both are given, and if --backup-file is given,
don't try to update data-offset.

Signed-off-by: NeilBrown <neilb@suse.de>
Grow.c
mdadm.c

diff --git a/Grow.c b/Grow.c
index 5d35e3203d65edde4c658c234e3aa9975ddaeddf..8794f4ecdaf185ae46bf5818af2d96cd298270f4 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -2866,9 +2866,10 @@ started:
                goto release;
        }
 
-       switch(set_new_data_offset(sra, st, devname, info->delta_disks,
-                                  data_offset,
-                                  reshape.min_offset_change)) {
+       if (!backup_file)
+               switch(set_new_data_offset(sra, st, devname, info->delta_disks,
+                                          data_offset,
+                                          reshape.min_offset_change)) {
        case -1:
                goto release;
        case 0:
diff --git a/mdadm.c b/mdadm.c
index 1b272848a50c0291629f3e5a299fa2b2f4bbfc11..b074238104d0ea07d84ddb4117a9782bf7718850 100644 (file)
--- a/mdadm.c
+++ b/mdadm.c
@@ -1266,6 +1266,11 @@ int main(int argc, char *argv[])
                c.require_homehost = 0;
        }
 
+       if (c.backup_file && data_offset != INVALID_SECTORS) {
+               pr_err("--backup-file and --data-offset are incompatible\n");
+               exit(2);
+       }
+
        if ((mode == MISC && devmode == 'E')
            || (mode == MONITOR && spare_sharing == 0))
                /* Anyone may try this */;