]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - util.c
Detail: clean up handing of the 'info' we load from superblock.
[thirdparty/mdadm.git] / util.c
diff --git a/util.c b/util.c
index d22b0d085473925eb2010eb1dc8392aaa681ee02..8935ceb94776301c5400a44bbe1023b2cf9397a1 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1427,7 +1427,7 @@ int is_subarray_active(char *subarray, char *container)
                if (is_container_member(ent, container)) {
                        char *inst = &ent->metadata_version[10+strlen(container)+1];
 
-                       if (strcmp(inst, subarray) == 0)
+                       if (!subarray || strcmp(inst, subarray) == 0)
                                break;
                }
        }
@@ -1437,6 +1437,11 @@ int is_subarray_active(char *subarray, char *container)
        return ent != NULL;
 }
 
+int is_container_active(char *container)
+{
+       return is_subarray_active(NULL, container);
+}
+
 /* open_subarray - opens a subarray in a container
  * @dev: container device name
  * @st: supertype with only ->subarray set
@@ -1661,8 +1666,6 @@ int fd2devnum(int fd)
        return NoMdDev;
 }
 
-char *pid_dir = VAR_RUN;
-
 int mdmon_pid(int devnum)
 {
        char path[100];
@@ -1671,7 +1674,7 @@ int mdmon_pid(int devnum)
        int n;
        char *devname = devnum2devname(devnum);
 
-       sprintf(path, "%s/%s.pid", pid_dir, devname);
+       sprintf(path, "%s/%s.pid", MDMON_DIR, devname);
        free(devname);
 
        fd = open(path, O_RDONLY | O_NOATIME, 0);