Make sure exists is set when creating MultipathDevice, as well as any other ancillary data. Also revamp MultipathDevice.status since we now can create it in realtime like everything else does. --- storage/devices.py | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff --git a/storage/devices.py b/storage/devices.py index 4137d4f..ab4739a 100644 --- a/storage/devices.py +++ b/storage/devices.py @@ -2935,7 +2935,8 @@ class MultipathDevice(DMDevice): self._pyBlockMultiPath = None self.setupIdentity() DMDevice.__init__(self, name, format=format, size=size, - parents=parents, sysfsPath=sysfsPath) + parents=parents, sysfsPath=sysfsPath, + exists=True) # PJTODO: these need better setup self.config = { @@ -2958,8 +2959,8 @@ class MultipathDevice(DMDevice): May be overridden by a sub-class for e.g. RDAC handling. """ - self._serial_short = self._info['ID_SERIAL_SHORT'] - self._serial = self._info['ID_SERIAL'] + self._identity_short = self._info['ID_SERIAL_SHORT'] + self._identity = self._info['ID_SERIAL'] @property def identity(self): @@ -2967,21 +2968,25 @@ class MultipathDevice(DMDevice): May be overridden by a sub-class for e.g. RDAC handling. """ - if not hasattr(self, "_serial"): + if not hasattr(self, "_identity"): raise RuntimeError, "setupIdentityFromInfo() has not been called." - return self._serial + return self._identity @property def status(self): - return self._isUp + """ The device's status (True means active). """ + if not os.path.exists(self.path): + return False + + return True @property def wwid(self): - serial = self._serial_short + identity = self._identity_short ret = [] - while serial: - ret.append(serial[:2]) - serial = serial[2:] + while identity: + ret.append(identity[:2]) + identity = identity[2:] return ":".join(ret) @property -- 1.6.5.2 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list