diff options
author | NeilBrown <neilb@suse.de> | 2015-05-13 12:41:48 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-05-13 12:41:48 +1000 |
commit | ec6db5ba712a23ccbcb5ad18f8506d366cb4b662 (patch) | |
tree | 3e107256d804687893b671bd2241611e38c9b808 | |
parent | b87fdf4e891093e4a98f724d4a5f013fcaa94168 (diff) | |
download | mdadm-ec6db5ba712a23ccbcb5ad18f8506d366cb4b662.tar.gz |
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 <neilb@suse.de>
-rw-r--r-- | Assemble.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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. */ |