Fix 2191 - Handle unknown device/partition type (#2470)

This commit is contained in:
Daniel Girtler 2024-04-23 17:02:07 +10:00 committed by GitHub
parent 0ea6dbbd76
commit beeb9d7fde
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 3 deletions

View File

@ -19,7 +19,6 @@ from ..exceptions import DiskError, SysCallError
from ..general import SysCommand from ..general import SysCommand
from ..output import debug, error from ..output import debug, error
from ..storage import storage from ..storage import storage
from ..output import info
if TYPE_CHECKING: if TYPE_CHECKING:
_: Any _: Any
@ -449,8 +448,11 @@ class _DeviceInfo:
device = disk.device device = disk.device
if device.type == 18: if device.type == 18:
device_type = 'loop' device_type = 'loop'
else: elif device.type in parted.devices:
device_type = parted.devices[device.type] device_type = parted.devices[device.type]
else:
debug(f'Device code not unknown: {device.type}')
device_type = parted.devices[parted.DEVICE_UNKNOWN]
sector_size = SectorSize(device.sectorSize, Unit.B) sector_size = SectorSize(device.sectorSize, Unit.B)
free_space = [DeviceGeometry(g, sector_size) for g in disk.getFreeSpaceRegions()] free_space = [DeviceGeometry(g, sector_size) for g in disk.getFreeSpaceRegions()]
@ -568,7 +570,7 @@ class PartitionType(Enum):
if code == parted.PARTITION_NORMAL: if code == parted.PARTITION_NORMAL:
return PartitionType.Primary return PartitionType.Primary
else: else:
info(f'Partition code not supported: {code}') debug(f'Partition code not supported: {code}')
return PartitionType._Unknown return PartitionType._Unknown
def get_partition_code(self) -> Optional[int]: def get_partition_code(self) -> Optional[int]: