From: NeilBrown Date: Wed, 13 May 2015 02:41:48 +0000 (+1000) Subject: Assemble: don't check for pre-existing array when updating uuid. X-Git-Tag: mdadm-3.3.3~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec6db5ba712a23ccbcb5ad18f8506d366cb4b662;p=thirdparty%2Fmdadm.git Assemble: don't check for pre-existing array when updating uuid. This is a very corner-case, but the self-tests tripped on it, and it makes sense not to trust the uuid when it is being changed. Signed-off-by: NeilBrown --- diff --git a/Assemble.c b/Assemble.c index 25a103d8..42710a8a 100644 --- a/Assemble.c +++ b/Assemble.c @@ -1348,7 +1348,10 @@ try_again: */ if (map_lock(&map)) pr_err("failed to get exclusive lock on mapfile - continue anyway...\n"); - mp = map_by_uuid(&map, content->uuid); + if (c->update && strcmp(c->update,"uuid") == 0) + mp = NULL; + else + mp = map_by_uuid(&map, content->uuid); if (mp) { struct mdinfo *dv; /* array already exists. */