From c4742cdb1dd1bbe9e1865efeb3860781a7c9539d Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Wed, 21 Aug 2024 19:57:51 -0400 Subject: [PATCH] Refactor create_btrfs_volumes() --- archinstall/lib/disk/device_handler.py | 34 ++++++++++---------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/archinstall/lib/disk/device_handler.py b/archinstall/lib/disk/device_handler.py index bd49918ac3..8d38dbc8e5 100644 --- a/archinstall/lib/disk/device_handler.py +++ b/archinstall/lib/disk/device_handler.py @@ -551,8 +551,6 @@ def create_btrfs_volumes( ): info(f'Creating subvolumes: {part_mod.safe_dev_path}') - luks_handler = None - # unlock the partition first if it's encrypted if enc_conf is not None and part_mod in enc_conf.partitions: if not part_mod.mapper_name: @@ -567,35 +565,29 @@ def create_btrfs_volumes( if not luks_handler.mapper_dev: raise DiskError('Failed to unlock luks device') - self.mount( - luks_handler.mapper_dev, - self._TMP_BTRFS_MOUNT, - create_target_mountpoint=True, - options=part_mod.mount_options - ) + dev_path = luks_handler.mapper_dev else: - self.mount( - part_mod.safe_dev_path, - self._TMP_BTRFS_MOUNT, - create_target_mountpoint=True, - options=part_mod.mount_options - ) + luks_handler = None + dev_path = part_mod.safe_dev_path + + self.mount( + dev_path, + self._TMP_BTRFS_MOUNT, + create_target_mountpoint=True, + options=part_mod.mount_options + ) for sub_vol in part_mod.btrfs_subvols: debug(f'Creating subvolume: {sub_vol.name}') - if luks_handler is not None: - subvol_path = self._TMP_BTRFS_MOUNT / sub_vol.name - else: - subvol_path = self._TMP_BTRFS_MOUNT / sub_vol.name + subvol_path = self._TMP_BTRFS_MOUNT / sub_vol.name SysCommand(f"btrfs subvolume create {subvol_path}") + self.umount(dev_path) + if luks_handler is not None and luks_handler.mapper_dev is not None: - self.umount(luks_handler.mapper_dev) luks_handler.lock() - else: - self.umount(part_mod.safe_dev_path) def unlock_luks2_dev(self, dev_path: Path, mapper_name: str, enc_password: str) -> Luks2: luks_handler = Luks2(dev_path, mapper_name=mapper_name, password=enc_password)