1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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) {
|