for device in devices:
mlogger.info("Zapping: %s", device.abspath)
- if device.is_mapper:
+ if device.is_mapper and not device.is_mpath:
terminal.error("Refusing to zap the mapper device: {}".format(device))
raise SystemExit(1)
if device.is_lvm_member:
def is_mapper(self):
return self.path.startswith(('/dev/mapper', '/dev/dm-'))
+ @property
+ def device_type(self):
+ if self.disk_api:
+ return self.disk_api['TYPE']
+ elif self.blkid_api:
+ return self.blkid_api['TYPE']
+
+ @property
+ def is_mpath(self):
+ return self.device_type == 'mpath'
+
@property
def is_lv(self):
return self.lv_api is not None
elif self.blkid_api:
api = self.blkid_api
if api:
- is_device = api['TYPE'] == 'device'
- is_disk = api['TYPE'] == 'disk'
- if is_device or is_disk:
- return True
+ return self.device_type in ['disk', 'device', 'mpath']
return False
@property