]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
mdmon: expand permissible container device names
authorDan Williams <dan.j.williams@intel.com>
Tue, 20 Jan 2009 08:36:50 +0000 (01:36 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 20 Jan 2009 08:36:50 +0000 (01:36 -0700)
Allow any path that dereferences to an md device to be used in addition
to the current symbolic md device names.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
mdmon.c

diff --git a/mdmon.c b/mdmon.c
index d39b88cb89aea942156912c5a0ca14ea11947572..5aad763892d0fce60de8e46ca5768f3ecd884406 100644 (file)
--- a/mdmon.c
+++ b/mdmon.c
@@ -306,9 +306,24 @@ int main(int argc, char *argv[])
                usage();
        }
 
-       devnum = devname2devnum(container_name);
-       devname = devnum2devname(devnum);
-       if (strcmp(container_name, devname) != 0) {
+       if (strncmp(container_name, "md", 2) == 0) {
+               devnum = devname2devnum(container_name);
+               devname = devnum2devname(devnum);
+               if (strcmp(container_name, devname) != 0)
+                       devname = NULL;
+       } else {
+               struct stat st;
+
+               devnum = NoMdDev;
+               if (stat(container_name, &st) == 0)
+                       devnum = stat2devnum(&st);
+               if (devnum == NoMdDev)
+                       devname = NULL;
+               else
+                       devname = devnum2devname(devnum);
+       }
+
+       if (!devname) {
                fprintf(stderr, "mdmon: %s is not a valid md device name\n",
                        container_name);
                exit(1);