You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
From bb6f40bf9c458a13b1a780006733c034105e6d36 Mon Sep 17 00:00:00 2001 |
|
From: Wol <anthony@youngman.org.uk> |
|
Date: Tue, 17 Jan 2017 17:47:05 +0000 |
|
Subject: [RHEL7.5 PATCH 003/169] Fix oddity where mdadm did not recognise |
|
a relative path |
|
|
|
mdadm assumed that a pathname started with a "/", while an array |
|
name didn't. This alters the logic so that if the first character |
|
is not a "/" it tries to open an array, and if that fails it drops |
|
through to the pathname code rather than terminating immediately |
|
with an error. |
|
|
|
Signed-off-by: Wol <anthony@youngman.org.uk> |
|
Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com> |
|
--- |
|
mdadm.c | 12 ++++++------ |
|
1 file changed, 6 insertions(+), 6 deletions(-) |
|
|
|
diff --git a/mdadm.c b/mdadm.c |
|
index c3a265b..b5d89e4 100644 |
|
--- a/mdadm.c |
|
+++ b/mdadm.c |
|
@@ -1899,12 +1899,12 @@ static int misc_list(struct mddev_dev *devlist, |
|
rv |= SetAction(dv->devname, c->action); |
|
continue; |
|
} |
|
- if (dv->devname[0] == '/') |
|
- mdfd = open_mddev(dv->devname, 1); |
|
- else { |
|
- mdfd = open_dev(dv->devname); |
|
- if (mdfd < 0) |
|
- pr_err("Cannot open %s\n", dv->devname); |
|
+ switch(dv->devname[0] == '/') { |
|
+ case 0: |
|
+ mdfd = open_dev(dv->devname); |
|
+ if (mdfd >= 0) break; |
|
+ case 1: |
|
+ mdfd = open_mddev(dv->devname, 1); |
|
} |
|
if (mdfd>=0) { |
|
switch(dv->disposition) { |
|
-- |
|
2.7.4 |
|
|
|
|