From: NeilBrown Date: Tue, 14 Mar 2023 00:06:25 +0000 (+1100) Subject: mdopen: always try create_named_array() X-Git-Tag: mdadm-4.3~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e10c46d0906b1a1ec40e8f5005ccb63125dcd9e;p=thirdparty%2Fmdadm.git mdopen: always try create_named_array() mdopen() will use create_named_array() to ask the kernel to create the given md array, but only if it is given a number or name. If it is NOT given a name and is required to choose one itself using find_free_devnm() it does NOT use create_named_array(). On kernels with CONFIG_BLOCK_LEGACY_AUTOLOAD not set, this can result in failure to assemble an array. This can particularly seen when the "name" of the array begins with a host name different to the name of the host running the command. So add the missing call to create_named_array(). Link: https://bugzilla.kernel.org/show_bug.cgi?id=217074 Signed-off-by: NeilBrown Acked-by: Mariusz Tkaczyk Signed-off-by: Jes Sorensen --- diff --git a/mdopen.c b/mdopen.c index d18c9319..810f79a3 100644 --- a/mdopen.c +++ b/mdopen.c @@ -370,6 +370,7 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy, } if (block_udev) udev_block(devnm); + create_named_array(devnm); } sprintf(devname, "/dev/%s", devnm);