|
1 | 1 | __author__ = 'desultory' |
2 | | -__version__ = '4.15.5' |
| 2 | +__version__ = '4.15.6' |
3 | 3 |
|
4 | 4 | from pathlib import Path |
5 | 5 | from zenlib.util import contains, pretty_print |
@@ -274,25 +274,25 @@ def get_virtual_block_info(self) -> dict: |
274 | 274 | self.logger.warning("No virtual block devices found, disabling device mapper autodetection.") |
275 | 275 | return |
276 | 276 |
|
277 | | - for dm_device in (Path('/sys/devices/virtual/block').iterdir()): |
278 | | - if dm_device.name.startswith('dm-') or dm_device.name.startswith('md'): |
279 | | - maj, minor = (dm_device / 'dev').read_text().strip().split(':') |
280 | | - self['_dm_info'][dm_device.name] = {'major': maj, |
281 | | - 'minor': minor, |
282 | | - 'holders': [holder.name for holder in (dm_device / 'holders').iterdir()], |
283 | | - 'slaves': [slave.name for slave in (dm_device / 'slaves').iterdir()], |
284 | | - 'uuid': (dm_device / 'dm/uuid').read_text().strip()} |
285 | | - if uuid := (dm_device / 'dm/uuid').read_text().strip(): |
286 | | - self['_dm_info'][dm_device.name]['uuid'] = uuid |
287 | | - elif uuid := (dm_device / 'md/uuid').read_text().strip(): |
288 | | - self['_dm_info'][dm_device.name]['uuid'] = uuid |
| 277 | + for virt_device in (Path('/sys/devices/virtual/block').iterdir()): |
| 278 | + if virt_device.name.startswith('dm-') or virt_device.name.startswith('md'): |
| 279 | + maj, minor = (virt_device / 'dev').read_text().strip().split(':') |
| 280 | + self['_dm_info'][virt_device.name] = {'major': maj, |
| 281 | + 'minor': minor, |
| 282 | + 'holders': [holder.name for holder in (virt_device / 'holders').iterdir()], |
| 283 | + 'slaves': [slave.name for slave in (virt_device / 'slaves').iterdir()], |
| 284 | + 'uuid': (virt_device / 'dm/uuid').read_text().strip()} |
| 285 | + if (virt_device / 'dm').exists(): |
| 286 | + self['_dm_info'][virt_device.name]['name'] = (virt_device / 'dm/name').read_text().strip() |
| 287 | + elif (virt_device / 'md').exists(): |
| 288 | + self['_dm_info'][virt_device.name]['name'] = (virt_device / 'md/name').read_text().strip() |
289 | 289 | else: |
290 | | - raise ValueError("Failed to get virtual device uuid: %s" % dm_device.name) |
| 290 | + raise ValueError("Failed to get virtual device name: %s" % virt_device.name) |
291 | 291 |
|
292 | 292 | try: |
293 | | - self['_dm_info'][dm_device.name]['name'] = (dm_device / 'dm/name').read_text().strip() |
| 293 | + self['_dm_info'][virt_device.name]['name'] = (virt_device / 'dm/name').read_text().strip() |
294 | 294 | except FileNotFoundError: |
295 | | - self.logger.warning("No device mapper name found for: %s" % dm_device.name) |
| 295 | + self.logger.warning("No device mapper name found for: %s" % virt_device.name) |
296 | 296 |
|
297 | 297 | if self['_dm_info']: |
298 | 298 | self.logger.info("Found virtual block devices: %s" % ', '.join(self['_dm_info'].keys())) |
|
0 commit comments