summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-09-22 10:27:55 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2015-09-22 10:27:55 +0200
commitf0425b0e8527a25203ab1a7cd12e4213d70c8609 (patch)
tree7874ac09f59c9a123a7973490e1f5d4544b1e9be
parent955731f6ce15763db1a0139c64f3854753e5dd05 (diff)
downloadnlplug-f0425b0e8527a25203ab1a7cd12e4213d70c8609.tar.bz2
nlplug-f0425b0e8527a25203ab1a7cd12e4213d70c8609.tar.xz
nlplug: run mdadm when linux_raid_member is found
-rw-r--r--nlplug.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/nlplug.c b/nlplug.c
index f53cac9..df06558 100644
--- a/nlplug.c
+++ b/nlplug.c
@@ -133,6 +133,18 @@ int load_kmod(const char *modalias)
return count;
}
+void start_mdadm(char *devnode)
+{
+ char *mdadm_argv[] = {
+ "/sbin/mdadm",
+ "--incremental",
+ "--export",
+ devnode,
+ NULL
+ };
+ run_child(mdadm_argv);
+}
+
int is_searchdev(const char *devname, const char *searchdev)
{
static blkid_cache cache = NULL;
@@ -180,9 +192,7 @@ int is_searchdev(const char *devname, const char *searchdev)
if (type) {
if (strcmp("linux_raid_member", type) == 0) {
- printf("Start mdadm\n");
- /* start raid */
- /* mdadm --incremental --export $devnode */
+ start_mdadm(devnode);
} else if (strcmp("LVM2_member", type) == 0) {
printf("Start LVM2\n");
/* start LVM2 */
@@ -280,7 +290,7 @@ int process_uevent(char *buf, const size_t len, struct ueventconf *conf)
if (strcmp(key, "PATH")) {
setenv(key, value, 1);
- dbg("%s = \"%s\"", key, value);
+ // dbg("%s = \"%s\"", key, value);
}
}
return dispatch_uevent(&ev, conf);
@@ -405,7 +415,6 @@ int main(int argc, char *argv[])
break;
}
event_count++;
- dbg("-------------------------\n");
if (fds.revents & POLLHUP) {
dbg("parent hung up\n");
break;