Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/disk/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall/lib/disk/helpers.py')
-rw-r--r--archinstall/lib/disk/helpers.py16
1 files changed, 9 insertions, 7 deletions
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: