# retrieve device_id on FreeBSD. Still figuring out if/how the
# python ioctl implementation does that on FreeBSD
dev_id = ''
- dev_id.replace(' ', '_')
+ dev_id = dev_id.replace(' ', '_')
+ while '__' in dev_id:
+ dev_id = dev_id.replace('__', '_')
return dev_id
def _set_lvm_membership(self):
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