[PATCH 1/4] Prevent md_node_from_name from raising OSError. (#980267)

David Lehman dlehman at redhat.com
Fri Nov 15 14:39:47 UTC 2013


---
 blivet/devicelibs/mdraid.py | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/blivet/devicelibs/mdraid.py b/blivet/devicelibs/mdraid.py
index 9c827e1..27010f2 100644
--- a/blivet/devicelibs/mdraid.py
+++ b/blivet/devicelibs/mdraid.py
@@ -265,14 +265,15 @@ def md_node_from_name(name):
 def name_from_md_node(node):
     md_dir = "/dev/md"
     name = None
-    # It's sad, but it's what we've got.
-    for link in os.listdir(md_dir):
-        full_path = "%s/%s" % (md_dir, link)
-        md_name = os.path.basename(os.readlink(full_path))
-        log.debug("link: %s -> %s" % (link, os.readlink(full_path)))
-        if md_name == node:
-            name = link
-            break
+    if os.path.isdir(md_dir):
+        # It's sad, but it's what we've got.
+        for link in os.listdir(md_dir):
+            full_path = "%s/%s" % (md_dir, link)
+            md_name = os.path.basename(os.readlink(full_path))
+            log.debug("link: %s -> %s" % (link, os.readlink(full_path)))
+            if md_name == node:
+                name = link
+                break
 
     if not name:
         raise MDRaidError("name_from_md_node(%s) failed" % node)
-- 
1.8.1.4



More information about the anaconda-patches mailing list