From 6a2a204f18109a496712d67d47cacb1b16bb8506 Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Fri, 6 Sep 2024 17:29:12 -0400 Subject: [PATCH] Add udev_sync() (#2669) --- archinstall/lib/disk/device_handler.py | 9 ++++++++- archinstall/lib/disk/filesystem.py | 3 +-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/archinstall/lib/disk/device_handler.py b/archinstall/lib/disk/device_handler.py index e8544153..839a050f 100644 --- a/archinstall/lib/disk/device_handler.py +++ b/archinstall/lib/disk/device_handler.py @@ -47,7 +47,7 @@ class DeviceHandler(object): def load_devices(self) -> None: block_devices = {} - SysCommand('udevadm settle') + self.udev_sync() all_lsblk_info = get_all_lsblk_info() devices = getAllDevices() @@ -784,6 +784,13 @@ class DeviceHandler(object): self._wipe(block_device.device_info.path) + @staticmethod + def udev_sync() -> None: + try: + SysCommand('udevadm settle') + except SysCallError as err: + debug(f'Failed to synchronize with udev: {err}') + device_handler = DeviceHandler() diff --git a/archinstall/lib/disk/filesystem.py b/archinstall/lib/disk/filesystem.py index 9af2e00c..a59c4342 100644 --- a/archinstall/lib/disk/filesystem.py +++ b/archinstall/lib/disk/filesystem.py @@ -17,7 +17,6 @@ from ..hardware import SysInfo from ..luks import Luks2 from ..menu import Menu from ..output import debug, info -from ..general import SysCommand if TYPE_CHECKING: _: Any @@ -114,7 +113,7 @@ class FilesystemHandler: device_handler.format(part_mod.safe_fs_type, part_mod.safe_dev_path) # synchronize with udev before using lsblk - SysCommand('udevadm settle') + device_handler.udev_sync() lsblk_info = device_handler.fetch_part_info(part_mod.safe_dev_path)