Re: [PATCH] dmraid.py is no longer being used by anything, so remove it.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes!

Regards,

Hans


On 04/06/2009 10:25 PM, Chris Lumens wrote:
---
  dmraid.py |  305 -------------------------------------------------------------
  1 files changed, 0 insertions(+), 305 deletions(-)
  delete mode 100644 dmraid.py

diff --git a/dmraid.py b/dmraid.py
deleted file mode 100644
index 8d07116..0000000
--- a/dmraid.py
+++ /dev/null
@@ -1,305 +0,0 @@
-#
-# dmraid.py - dmraid probing control
-#
-# Copyright (C) 2005  Red Hat, Inc.  All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see<http://www.gnu.org/licenses/>.
-#
-# Author(s): Peter Jones<pjones@xxxxxxxxxx>
-#
-
-"""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/:"
-import block
-oldPath = block.getBdevidPath()
-if not _bdModulePath in oldPath:
-    block.setBdevidPath(_bdModulePath + oldPath)
-del oldPath
-
-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
-# boot loader blow up
-# XXX This needs to be functional so it can test if drives sit on particular
-# controlers. -pj
-dmraidBootArches = [ "i386", "x86_64" ]
-
-dmNameUpdates = {}
-
-class DmDriveCache:
-    def __init__(self):
-        self.cache = {}
-
-    def _addMapDevs(self, name, devs, obj):
-        isys.cachedDrives["mapper/" + name] = obj
-        log.debug("adding %s to isys cache" % ("mapper/" + name,))
-        for dev in devs:
-            disk = dev.split('/')[-1]
-            if isys.cachedDrives.has_key(disk):
-                self.cache.setdefault(obj.name, {})
-                self.cache[obj.name][obj.name] = obj
-                log.debug("adding %s to dm cache" % (disk,))
-                self.cache[obj.name][disk] = isys.cachedDrives[disk]
-                log.debug("removing %s from isys cache" % (disk,))
-                del isys.cachedDrives[disk]
-
-    def add(self, obj):
-        if isinstance(obj, block.MultiPath):
-            return self._addMapDevs(obj.name, obj.bdevs, obj)
-        else:
-            members = []
-            for m in obj.members:
-                if isinstance(m, block.RaidDev):
-                    members.append(m.rd.device.path)
-            return self._addMapDevs(obj.name, members, obj)
-
-    def remove(self, name):
-        objname = "mapper/" + name
-        if  isys.cachedDrives.has_key(objname):
-            obj = isys.cachedDrives[objname]
-            log.debug("removing %s from isys cache" % (objname,))
-            del isys.cachedDrives[objname]
-            if self.cache.has_key(obj.name):
-                del self.cache[obj.name][obj.name]
-                for k,v in self.cache[obj.name].items():
-                    log.debug("adding %s to isys cache" % (name,))
-                    isys.cachedDrives[k] = v
-                log.debug("removing %s from dm cache" % (obj,))
-                del self.cache[obj.name]
-
-    def rename(self, obj, newname):
-        oldname = 'mapper/' + obj.name
-        if isys.cachedDrives.has_key(oldname):
-            dmNameUpdates[obj.name] = newname
-            self.remove(oldname)
-            # XXX why doesn't setting the property work?
-            obj.set_name(newname)
-            self.add(obj)
-
-    def __contains__(self, name):
-        return self.cache.has_key(name)
-
-cacheDrives = DmDriveCache()
-
-class DegradedRaidWarning(Warning):
-    def __init__(self, *args):
-        self.args = args
-    def __str__(self):
-        return self.args and ('%s' % self.args[0]) or repr(self)
-
-def scanForRaid(drives, degradedOk=False):
-    """Scans for dmraid devices on drives.
-
-    drives is a list of device names.
-    Returns a list of (raidSet, parentRaidSet, devices, level, totalDisks)
-      tuples.
-    """
-
-    log.debug("scanning for dmraid on drives %s" % (drives,))
-
-    probeDrives = []
-    for d in drives:
-        probeDrives.append("/dev/%s" % (d,))
-
-    dmsets = []
-    def nonDegraded(rs):
-        log.debug("got raidset %s (%s)" % (rs, string.join(rs.member_devpaths)))
-        log.debug("  valid: %s found_devs: %s total_devs: %s" % (rs.valid, rs.rs.found_devs, rs.rs.total_devs))
-
-        if not rs.valid and not degradedOk:
-            log.warning("raid %s (%s) is degraded" % (rs, rs.name))
-            #raise DegradedRaidWarning, rs
-            return False
-        return True
-
-    raidsets = filter(nonDegraded, block.getRaidSets(probeDrives) or [])
-    def updateName(rs):
-        if dmNameUpdates.has_key(rs.name):
-            rs.set_name(dmNameUpdates[rs.name])
-        cacheDrives.add(rs)
-        return rs
-
-    return reduce(lambda x,y: x + [updateName(y),], raidsets, [])
-
-def renameRaidSet(rs, name):
-    cacheDrives.rename(rs, name)
-
-def startAllRaid(driveList):
-    """Do a raid start on raid devices."""
-
-    if not flags.dmraid:
-        return []
-    log.debug("starting all dmraids on drives %s" % (driveList,))
-
-    try:
-        dmList = scanForRaid(driveList)
-    except Exception, e:
-        log.error("error scanning dmraid, disabling: %s" %(e,))
-        flags.dmraid = 0
-        dmList = []
-
-    newDmList = []
-    for rs in dmList:
-        rs.prefix = '/dev/mapper/'
-        log.debug("starting raid %s with mknod=True" % (rs,))
-        try:
-            rs.activate(mknod=True)
-            newDmList.append(rs)
-        except Exception, e:
-            log.error("Activating raid %s failed: " % (rs.rs,))
-            log.error("  table: %s" % (rs.rs.table,))
-            log.error("  exception: %s" % (e,))
-            try:
-                rs.deactivate()
-                del rs
-            except:
-                pass
-
-    return newDmList
-
-def stopAllRaid(dmList):
-    """Do a raid stop on each of the raid device tuples given."""
-
-    if not flags.dmraid:
-        return
-    log.debug("stopping all dmraids")
-    for rs in dmList:
-        log.debug("stopping raid %s" % (rs,))
-        if rs.name in cacheDrives:
-            cacheDrives.remove(rs.name)
-
-            rs.deactivate()
-            #block.removeDeviceMap(map)
-
-def isRaid6(raidlevel):
-    """Return whether raidlevel is a valid descriptor of RAID6."""
-    return False
-
-def isRaid5(raidlevel):
-    """Return whether raidlevel is a valid descriptor of RAID5."""
-    return False
-
-def isRaid1(raidlevel):
-    """Return whether raidlevel is a valid descriptor of RAID1."""
-    return raid.isRaid1(raidlevel)
-
-def isRaid0(raidlevel):
-    """Return whether raidlevel is a valid descriptor of RAID1."""
-    return raid.isRaid0(raidlevel)
-
-def get_raid_min_members(raidlevel):
-    """Return the minimum number of raid members required for raid level"""
-    return raid.get_raid_min_members(raidlevel)
-
-def get_raid_max_spares(raidlevel, nummembers):
-    """Return the maximum number of raid spares for raidlevel."""
-    return raid.get_raid_max_spares(raidlevel, nummembers)
-
-def register_raid_device(dmname, newdevices, newlevel, newnumActive):
-    """Register a new RAID device in the dmlist."""
-    raise NotImplementedError
-
-def scanForMPath(drives):
-    log.debug("scanning for multipath on drives %s" % (drives,))
-    mpaths = []
-
-    probeDrives = []
-    for d in drives:
-        probeDrives.append("/dev/%s" % (d,))
-
-    import block as _block
-    oldPath = _block.getBdevidPath()
-    if not _bdModulePath in oldPath:
-        _block.setBdevidPath(_bdModulePath + oldPath)
-    del oldPath
-
-    log.debug("loading bdevid modules from: '%s'" % (_block.getBdevidPath(),))
-
-    _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, [])
-
-def renameMPath(mpath, name):
-    cacheDrives.rename(mpath, name)
-
-def startMPath(mpath):
-    if flags.mpath == 0:
-        return
-    mpath.prefix = '/dev/mapper/'
-    log.debug("starting mpath %s with mknod=True" % (mpath,))
-    mpath.activate(mknod=True)
-
-def startAllMPath(driveList):
-    """Start all of the MPaths of the specified drives."""
-
-    if not flags.mpath:
-        return []
-    log.debug("starting all mpaths on drives %s" % (driveList,))
-
-    try:
-        mpList = scanForMPath(driveList)
-    except Exception, e:
-        log.error("error scanning mpaths, disabling: %s" %(e,))
-        flags.mpath = 0
-        mpList = []
-
-    for mp in mpList:
-        startMPath(mp)
-    return mpList
-
-def stopMPath(mp):
-    if flags.mpath == 0:
-        return
-
-    log.debug("stopping mpath %s" % (mp,))
-    if mp.name in cacheDrives:
-        cacheDrives.remove(mp.name)
-
-        mp.deactivate()
-        #block.removeDeviceMap(map)
-
-def stopAllMPath(mpList):
-    """Do a mpath stop on each of the mpath device tuples given."""
-
-    if not flags.mpath:
-        return
-    log.debug("stopping all mpaths")
-    for mp in mpList:
-        stopMPath(mp)
-

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux