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/filesystem.py | |
parent | eafbf49cdc5eb80dfa977b8f77f1460019d5db80 (diff) |
-rw-r--r-- | archinstall/lib/disk/filesystem.py | 16 |
diff --git a/archinstall/lib/disk/filesystem.py b/archinstall/lib/disk/filesystem.py index 25e251c2..8a531de0 100644 --- a/archinstall/lib/disk/filesystem.py +++ b/archinstall/lib/disk/filesystem.py @@ -11,7 +11,7 @@ if TYPE_CHECKING: from .partition import Partition from .validators import valid_fs_type -from ..exceptions import DiskError +from ..exceptions import DiskError, SysCallError from ..general import SysCommand from ..output import log from ..storage import storage @@ -49,7 +49,7 @@ class Filesystem: def partuuid_to_index(self, uuid :str) -> Optional[int]: for i in range(storage['DISK_RETRY_ATTEMPTS']): self.partprobe() - time.sleep(5) + time.sleep(max(0.1, storage['DISK_TIMEOUTS'] * i)) # We'll use unreliable lbslk to grab children under the /dev/<device> output = json.loads(SysCommand(f"lsblk --json {self.blockdevice.device}").decode('UTF-8')) @@ -61,8 +61,6 @@ class Filesystem: if partition_uuid.lower() == uuid.lower(): return index - time.sleep(storage['DISK_TIMEOUTS']) - raise DiskError(f"Failed to convert PARTUUID {uuid} to a partition index number on blockdevice {self.blockdevice.device}") def load_layout(self, layout :Dict[str, Any]) -> None: @@ -162,11 +160,11 @@ class Filesystem: return partition def partprobe(self) -> bool: - result = SysCommand(f'partprobe {self.blockdevice.device}') - - if result.exit_code != 0: - log(f"Could not execute partprobe: {result!r}", level=logging.ERROR, fg="red") - raise DiskError(f"Could not run partprobe: {result!r}") + try: + SysCommand(f'partprobe {self.blockdevice.device}') + except SysCallError as error: + log(f"Could not execute partprobe: {error!r}", level=logging.ERROR, fg="red") + raise DiskError(f"Could not run partprobe on {self.blockdevice.device}: {error!r}") return True |