--- __init__.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/__init__.py b/__init__.py index 523ad74..d1db3da 100644 --- a/__init__.py +++ b/__init__.py @@ -241,6 +241,49 @@ def getDmTarget(uuid = None, major = None, minor = None, name = None): return map.table.type return None +def getNameFromDmNode(dm_node): + """ Return the related name for the specified node. + + Expects a device node with or without the "/dev" prefix. + + Returns a String representing the name. None if the major, minor + pair was not found in the maps list. + """ + + if not dm_node.startswith("/dev"): + import os.path as _path + dm_node = _path.join("/dev", dm_node) + del _path + + import os as _os + stat = _os.stat(dm_node) + major = long(_os.major(stat.st_rdev)) + minor = long(_os.minor(stat.st_rdev)) + del _os + + for map in dm.maps(): + if map.dev.major == major and map.dev.minor == minor: + return map.name + + # In case the major, minor pair is not found in maps. + return None + + +def getDmNodeFromName(name): + """ Return the related node for the specified name. + + Expects a string representing the name. + + Returns dm-MINOR if the map list contains the specified name. + None if name was not found. + """ + for map in dm.maps(): + if map.name == name: + return "dm-%s" % map.dev.minor + + return None + + __all__ = [ "dm", "dmraid", "BlockDev" ] # -- 1.6.0.6 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list