From ec6db5ba712a23ccbcb5ad18f8506d366cb4b662 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 13 May 2015 12:41:48 +1000 Subject: [PATCH] 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 --- Assemble.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Assemble.c b/Assemble.c index 25a103d..42710a8 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. */