fix mdmon takeover
- when we waited for the old mdmon to exit, we didn't look for the socket in the right place - when we failed to find a pid file, we returned the wrong value (code expected <0, but got ==0). Signed-off-by: Luca Berra <bluca@comedia.it> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
eb49460b74
commit
cf55630357
2
msg.c
2
msg.c
|
@ -147,7 +147,7 @@ int connect_monitor(char *devname)
|
||||||
int pos;
|
int pos;
|
||||||
char *c;
|
char *c;
|
||||||
|
|
||||||
pos = sprintf(path, "%s/", VAR_RUN);
|
pos = sprintf(path, "%s/", pid_dir);
|
||||||
if (is_subarray(devname)) {
|
if (is_subarray(devname)) {
|
||||||
devname++;
|
devname++;
|
||||||
c = strchr(devname, '/');
|
c = strchr(devname, '/');
|
||||||
|
|
4
util.c
4
util.c
|
@ -1478,11 +1478,11 @@ int mdmon_pid(int devnum)
|
||||||
fd = open(path, O_RDONLY | O_NOATIME, 0);
|
fd = open(path, O_RDONLY | O_NOATIME, 0);
|
||||||
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
return 0;
|
return -1;
|
||||||
n = read(fd, pid, 9);
|
n = read(fd, pid, 9);
|
||||||
close(fd);
|
close(fd);
|
||||||
if (n <= 0)
|
if (n <= 0)
|
||||||
return 0;
|
return -1;
|
||||||
return atoi(pid);
|
return atoi(pid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue