index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton@hvornum.se> | 2022-04-26 17:13:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-26 17:13:47 +0200 |
commit | 59c35df0676977c93ed7276237179c9af8d9c476 (patch) | |
tree | 1b7396280760305626704d8879c7a1e9888c0e9e /archinstall/lib/disk/helpers.py | |
parent | eafbf49cdc5eb80dfa977b8f77f1460019d5db80 (diff) |
-rw-r--r-- | archinstall/lib/disk/helpers.py | 16 |
diff --git a/archinstall/lib/disk/helpers.py b/archinstall/lib/disk/helpers.py index 2f73b2bd..f9618b6c 100644 --- a/archinstall/lib/disk/helpers.py +++ b/archinstall/lib/disk/helpers.py @@ -418,16 +418,20 @@ def find_partition_by_mountpoint(block_devices :List[BlockDevice], relative_moun if partition.get('mountpoint', None) == relative_mountpoint: return partition -def partprobe() -> bool: - if SysCommand(f'bash -c "partprobe"').exit_code == 0: - time.sleep(5) # TODO: Remove, we should be relying on blkid instead of lsblk - return True +def partprobe(path :str = '') -> bool: + try: + if SysCommand(f'bash -c "partprobe {path}"').exit_code == 0: + return True + except SysCallError: + pass return False def convert_device_to_uuid(path :str) -> str: device_name, bind_name = split_bind_name(path) + for i in range(storage['DISK_RETRY_ATTEMPTS']): - partprobe() + partprobe(device_name) + time.sleep(max(0.1, storage['DISK_TIMEOUTS'] * i)) # TODO: Remove, we should be relying on blkid instead of lsblk # TODO: Convert lsblk to blkid # (lsblk supports BlockDev and Partition UUID grabbing, blkid requires you to pick PTUUID and PARTUUID) @@ -437,8 +441,6 @@ def convert_device_to_uuid(path :str) -> str: if (dev_uuid := device.get('uuid', None)): return dev_uuid - time.sleep(storage['DISK_TIMEOUTS']) - raise DiskError(f"Could not retrieve the UUID of {path} within a timely manner.") def has_mountpoint(partition: Union[dict,Partition,MapperDev], target: str, strict: bool = True) -> bool: |