summaryrefslogtreecommitdiff
path: root/mdmon.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2011-11-07 11:37:12 +1100
committerNeilBrown <neilb@suse.de>2011-11-07 11:37:12 +1100
commit84a230d993d6a953876f3b83ae79ed519ebf4d07 (patch)
tree91b9f477f4a2e9ac6e6463e06fbc4c2c11447770 /mdmon.c
parent62f5838f5be435ed0647659fae1920298d651cb9 (diff)
Revert "mdmon(): Error out if failing to connect to victim monitor"
This reverts commit 819c158866f466075a1c719f0dc496deb2fb3814. Adam Kwolek reports that with this patch, mdmon sometimes doesn't start: When array is not clean dismounted directory /dev/.mdadm is not cleaned up. On array re-assembly read pid is not valid and it is not possible to connect to monitor. This causes mdmon to exit and array remains not monitored. Problem is introduced by fix: mdmon(): Error out if failing to connect to victim monitor 819c158866f466075a1c719f0dc496deb2fb3814 This is critical for container reshape when mdmon is should finish reshape. when reshape is not finished, array is reshaped again by mdadm. As victim_sock is subsequently tested, we don't really need to test-and-fail here. Reported-by: Adam Kwolek <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdmon.c')
-rw-r--r--mdmon.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/mdmon.c b/mdmon.c
index bdcda0ed..ee68e3c3 100644
--- a/mdmon.c
+++ b/mdmon.c
@@ -457,14 +457,8 @@ static int mdmon(char *devname, int devnum, int must_fork, int takeover)
sigaction(SIGPIPE, &act, NULL);
victim = mdmon_pid(container->devnum);
- if (victim >= 0) {
+ if (victim >= 0)
victim_sock = connect_monitor(container->devname);
- if (victim_sock < 0) {
- fprintf(stderr, "mdmon: %s unable to connect monitor\n",
- container->devname);
- exit(3);
- }
- }
ignore = chdir("/");
if (!takeover && victim > 0 && victim_sock >= 0) {