def scanForMPath(drives): log.debug("scanning for multipath on drives %s" % (drives,)) mpaths = [] probeDrives = [] for d in drives: dp = "/dev/" + d isys.makeDevInode(d, dp) probeDrives.append(dp) dp = "/tmp/" + d isys.makeDevInode(d, dp) import block as _block _block.setBdevidPath(_block.getBdevidPath() + _bdModulePath) _block.load("scsi") mpaths = _block.getMPaths(probeDrives) log.debug("mpaths: %s" % (mpaths,)) def updateName(mp): if dmNameUpdates.has_key(mp.name): mp.set_name(dmNameUpdates[mp.name]) cacheDrives.add(mp) return mp return reduce(lambda x,y: x + [updateName(y),], mpaths, [])
# # You should have received a copy of the GNU Library Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # """DMRaid probing control.""" # XXX dmraid and md raid should be abstracted from the same thing. -pj # XXX dmraid and lvm should use a common control mechanism (such as block.dm) # for device-mapper. -pj import sys import string _bdModulePath = ":/tmp/updates/bdevid/:/mnt/source/RHupdates/bdevid/" import block block.setBdevidPath(block.getBdevidPath() + _bdModulePath) import partedUtils import raid from flags import flags import logging from anaconda_log import logger, logFile logger.addLogger ("anaconda.dmraid", minLevel=logging.DEBUG) log = logging.getLogger("anaconda.dmraid") logger.addFileHandler (logFile, log) import isys # these arches can have their /boot on DMRAID and not have their