diff mbox series

Create: Fix checking for container in update_metadata

Message ID 20230322144739.30712-1-mateusz.grzonka@intel.com (mailing list archive)
State Superseded, archived
Headers show
Series Create: Fix checking for container in update_metadata | expand

Commit Message

Mateusz Grzonka March 22, 2023, 2:47 p.m. UTC
The commit https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=8a4ce2c053866ac97feb436c4c85a54446ee0016
introduced a regression that caused timeouts and udev failing to create
links.

Steps to reproduce the issue were as following:
$ mdadm -CR imsm -e imsm -n4 /dev/nvme[0-3]n1
$ mdadm -CR vol -l5 -n4 /dev/nvme[0-3]n1 --assume-clean

I found the check for container was wrong because negation was missing.

Signed-off-by: Mateusz Grzonka <mateusz.grzonka@intel.com>
---
 Create.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/Create.c b/Create.c
index bbe9e13d..0911bf92 100644
--- a/Create.c
+++ b/Create.c
@@ -328,7 +328,7 @@  static int update_metadata(int mdfd, struct shape *s, struct supertype *st,
 	 * again returns container info.
 	 */
 	st->ss->getinfo_super(st, &info_new, NULL);
-	if (st->ss->external && is_container(s->level) &&
+	if (st->ss->external && !is_container(s->level) &&
 	    !same_uuid(info_new.uuid, info->uuid, 0)) {
 		map_update(map, fd2devnm(mdfd),
 			   info_new.text_version,