summaryrefslogtreecommitdiff
path: root/mdmon.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2008-05-27 09:18:41 +1000
committerNeil Brown <neilb@suse.de>2008-05-27 09:18:41 +1000
commite0d6609fe6b0fe6a74705d1f1c1cf4a0d3a71db8 (patch)
tree4e1a2f6c44d2ae2a943de26178edab3462e723c9 /mdmon.c
parent5869a76c90aa0725e665d3c7bd6c7ab021d24fd4 (diff)
Exit when there are no more arrays to manage.
Diffstat (limited to 'mdmon.c')
-rw-r--r--mdmon.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mdmon.c b/mdmon.c
index 2919a02f..323ee62e 100644
--- a/mdmon.c
+++ b/mdmon.c
@@ -146,6 +146,14 @@ static void try_kill_monitor(char *devname)
kill(pid, SIGTERM);
}
+void remove_pidfile(char *devname)
+{
+ char buf[100];
+
+ sprintf(buf, "/var/run/mdadm/%s.pid", devname);
+ unlink(buf);
+}
+
static int make_control_sock(char *devname)
{
char path[100];
@@ -198,6 +206,7 @@ int main(int argc, char *argv[])
container = malloc(sizeof(*container));
container->devnum = fd2devnum(mdfd);
container->devname = devnum2devname(container->devnum);
+ container->device_name = argv[1];
/* If this fails, we hope it already exists */
mkdir("/var/run/mdadm", 0600);
@@ -267,7 +276,7 @@ int main(int argc, char *argv[])
argv[1]);
exit(3);
}
-
+ close(mdfd);
close(mdfd);
mlockall(MCL_FUTURE);