From 770fe0f9a1d9155952831e1cc100d9f3c63615ce Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Wed, 24 Oct 2007 13:23:35 +0000 Subject: [PATCH] Move some methods from DRBDev to BaseDRBD Since some of the methods and constants are valid for both 0.7 and 8.x versions, we move them to the base class. Reviewed-by: imsnah --- lib/bdev.py | 67 +++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/lib/bdev.py b/lib/bdev.py index 65db9f477..7578d09ec 100644 --- a/lib/bdev.py +++ b/lib/bdev.py @@ -917,7 +917,10 @@ class BaseDRBD(BlockDev): """ _VERSION_RE = re.compile(r"^version: (\d+)\.(\d+)\.(\d+)" r" \(api:(\d+)/proto:(\d+)\)") - _DRBD_KVER = 0 + _DRBD_MAJOR = 147 + _ST_UNCONFIGURED = "Unconfigured" + _ST_WFCONNECTION = "WFConnection" + _ST_CONNECTED = "Connected" @staticmethod def _GetProcData(): @@ -948,6 +951,34 @@ class BaseDRBD(BlockDev): first_line) return [int(val) for val in version.groups()] + @staticmethod + def _DevPath(minor): + """Return the path to a drbd device for a given minor. + + """ + return "/dev/drbd%d" % minor + + @classmethod + def _GetUsedDevs(cls): + """Compute the list of used DRBD devices. + + """ + data = cls._GetProcData() + + used_devs = {} + valid_line = re.compile("^ *([0-9]+): cs:([^ ]+).*$") + for line in data: + match = valid_line.match(line) + if not match: + continue + minor = int(match.group(1)) + state = match.group(2) + if state == cls._ST_UNCONFIGURED: + continue + used_devs[minor] = state, line + + return used_devs + class DRBDev(BaseDRBD): """DRBD block device. @@ -962,11 +993,6 @@ class DRBDev(BaseDRBD): valid size and is zeroed on create. """ - _DRBD_MAJOR = 147 - _ST_UNCONFIGURED = "Unconfigured" - _ST_WFCONNECTION = "WFConnection" - _ST_CONNECTED = "Connected" - def __init__(self, unique_id, children): super(DRBDev, self).__init__(unique_id, children) self.major = self._DRBD_MAJOR @@ -983,35 +1009,6 @@ class DRBDev(BaseDRBD): self._lhost, self._lport, self._rhost, self._rport = unique_id self.Attach() - @staticmethod - def _DevPath(minor): - """Return the path to a drbd device for a given minor. - - """ - return "/dev/drbd%d" % minor - - @classmethod - def _GetUsedDevs(cls): - """Compute the list of used DRBD devices. - - """ - data = cls._GetProcData() - - used_devs = {} - valid_line = re.compile("^ *([0-9]+): cs:([^ ]+).*$") - for line in data: - match = valid_line.match(line) - if not match: - continue - minor = int(match.group(1)) - state = match.group(2) - if state == cls._ST_UNCONFIGURED: - continue - used_devs[minor] = state, line - - return used_devs - - @classmethod def _FindUnusedMinor(cls): """Find an unused DRBD device. -- GitLab