File 0060-Assemble-don-t-check-for-pre-existing-array-when-upd.patch of Package mdadm.5365
From ec6db5ba712a23ccbcb5ad18f8506d366cb4b662 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.de>
Date: Wed, 13 May 2015 12:41:48 +1000
Subject: [PATCH 078/359] Assemble: don't check for pre-existing array when
updating uuid.
References: bsc#1081910
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 <neilb@suse.de>
Signed-off-by: Coly Li <colyli@suse.de>
---
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. */
--
2.16.1