diff --git a/nlplug-findfs/nlplug-findfs.c b/nlplug-findfs/nlplug-findfs.c index 1cb48d2..7b0b940 100644 --- a/nlplug-findfs/nlplug-findfs.c +++ b/nlplug-findfs/nlplug-findfs.c @@ -479,9 +479,9 @@ static int load_kmod(const char *modalias, char *driver, size_t len) return count; } -static void start_mdadm(char *devnode) +static void start_mdadm(char *devnode, const char *searchdev) { - char *mdadm_argv[] = { + char *root_mdadm_argv[] = { MDADM_PATH, "--incremental", "--run", @@ -489,6 +489,14 @@ static void start_mdadm(char *devnode) devnode, NULL }; + char *nonroot_mdadm_argv[] = { + MDADM_PATH, + "--incremental", + "--quiet", + devnode, + NULL + }; + char **mdadm_argv = (strcmp(devnode, searchdev) == 0) ? root_mdadm_argv : nonroot_mdadm_argv; if (use_mdadm) spawn_command(&spawnmgr, mdadm_argv, 0); } @@ -1006,7 +1014,7 @@ static int searchdev(struct uevent *ev, const char *searchdev, int scanbootmedia if (!rc && type) { if (strcmp("linux_raid_member", type) == 0) { - start_mdadm(ev->devnode); + start_mdadm(ev->devnode, searchdev); } else if (strcmp("LVM2_member", type) == 0) { start_lvm2(ev->devnode); } else if (strcmp("zfs_member", type) == 0) {