From: NeilBrown Date: Tue, 10 May 2011 01:49:57 +0000 (+1000) Subject: Grow: check if any changes needed before proceeding to analyse_change. X-Git-Tag: mdadm-3.2.2~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d515d27f6045ec6d20d74991266f003e3aaba6a4;p=thirdparty%2Fmdadm.git Grow: check if any changes needed before proceeding to analyse_change. Analyse_change can give unhelpful error messages if nothing was changed. This is particularly awkward when only changing --size. So check and re-introduce a message that was list in commit 5da9ab9874cb Signed-off-by: NeilBrown --- diff --git a/Grow.c b/Grow.c index f910277e..e09e9ab3 100644 --- a/Grow.c +++ b/Grow.c @@ -1496,6 +1496,18 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file, size = array.size; } + /* See if there is anything else to do */ + if ((level == UnSet || level == array.level) && + (layout_str == NULL) && + (chunksize == 0 || chunksize == array.chunk_size) && + (raid_disks == 0 || raid_disks == array.raid_disks)) { + /* Nothing more to do */ + if (!changed && !quiet) + fprintf(stderr, Name ": %s: no change requested\n", + devname); + goto release; + } + /* ========= check for Raid10/Raid1 -> Raid0 conversion =============== * current implementation assumes that following conditions must be met: * - RAID10: