summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-02-04 16:47:21 +1100
committerNeilBrown <neilb@suse.de>2010-02-04 16:47:21 +1100
commit24f6f99b3630b1a89aaa57930c5c9de8a3df9ded (patch)
tree9f2d74d91cf1a4c76a0be20cd1af7185680c62fa /util.c
parent24cfdbc5c0b6a1ccae28ffb10a707160525f18c6 (diff)
downloadmdadm-24f6f99b3630b1a89aaa57930c5c9de8a3df9ded.tar.gz
mdadm-24f6f99b3630b1a89aaa57930c5c9de8a3df9ded.tar.xz
mdadm-24f6f99b3630b1a89aaa57930c5c9de8a3df9ded.zip
Having single function to read mdmon pid file.
We don't need three. One (signal_mdmon) wasn't even being used. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'util.c')
-rw-r--r--util.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/util.c b/util.c
index 5feec43..e5b0c1f 100644
--- a/util.c
+++ b/util.c
@@ -1463,14 +1463,14 @@ int fd2devnum(int fd)
return NoMdDev;
}
-int mdmon_running(int devnum)
+int mdmon_pid(int devnum)
{
char path[100];
char pid[10];
int fd;
int n;
sprintf(path, "/var/run/mdadm/%s.pid", devnum2devname(devnum));
- fd = open(path, O_RDONLY, 0);
+ fd = open(path, O_RDONLY | O_NOATIME, 0);
if (fd < 0)
return 0;
@@ -1478,27 +1478,15 @@ int mdmon_running(int devnum)
close(fd);
if (n <= 0)
return 0;
- if (kill(atoi(pid), 0) == 0)
- return 1;
- return 0;
+ return atoi(pid);
}
-int signal_mdmon(int devnum)
+int mdmon_running(int devnum)
{
- char path[100];
- char pid[10];
- int fd;
- int n;
- sprintf(path, "/var/run/mdadm/%s.pid", devnum2devname(devnum));
- fd = open(path, O_RDONLY, 0);
-
- if (fd < 0)
- return 0;
- n = read(fd, pid, 9);
- close(fd);
- if (n <= 0)
+ int pid = mdmon_pid(devnum);
+ if (pid <= 0)
return 0;
- if (kill(atoi(pid), SIGUSR1) == 0)
+ if (kill(pid, 0) == 0)
return 1;
return 0;
}