diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-10-02 15:42:57 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-10-15 14:43:57 -0700 |
commit | 883a6142e64c6ed3e0dfeb28b2d9e48ddafd4c18 (patch) | |
tree | a476f8f2b2aab73759952579599b9bf96bd02d94 /managemon.c | |
parent | 6144ed441445ee4d567614aaed78dd24148881ce (diff) |
mdmon: wait after trying to kill
Now that mdmon handles sigterm if another monitor wants to take over it
should wait until all managed arrays are clean. So make WaitClean()
available to mdmon and teach try_kill_monitor() to wait on each subarray
in the container.
...since we may be communicating with a dieing process, we need to
block SIGPIPE earlier.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'managemon.c')
-rw-r--r-- | managemon.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/managemon.c b/managemon.c index a8af614a..02343127 100644 --- a/managemon.c +++ b/managemon.c @@ -504,13 +504,7 @@ void manage(struct mdstat_ent *mdstat, struct supertype *container) manage_container(mdstat, container); continue; } - if (mdstat->metadata_version == NULL || - strncmp(mdstat->metadata_version, "external:", 9) != 0 || - !is_subarray(mdstat->metadata_version+9) || - strncmp(mdstat->metadata_version+10, container->devname, - strlen(container->devname)) != 0 || - mdstat->metadata_version[10+strlen(container->devname)] - != '/') + if (!is_container_member(mdstat, container->devname)) /* Not for this array */ continue; /* Looks like a member of this container */ |