From 3bf8ba081967a041f3552b68efff84340edb5138 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Tue, 9 Mar 2021 12:00:40 +0100 Subject: Fixed luks2().close() to properly detect it's own mapped path --- archinstall/lib/luks.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/archinstall/lib/luks.py b/archinstall/lib/luks.py index 283a1b51..7c5d3e55 100644 --- a/archinstall/lib/luks.py +++ b/archinstall/lib/luks.py @@ -15,6 +15,7 @@ class luks2(): self.key_file = key_file self.auto_unmount = auto_unmount self.filesystem = 'crypto_LUKS' + self.mappoint = None def __enter__(self): #if self.partition.allow_formatting: @@ -82,14 +83,15 @@ class luks2(): os.path.basename(mountpoint) # TODO: Raise exception instead? sys_command(f'/usr/bin/cryptsetup open {partition.path} {mountpoint} --key-file {os.path.abspath(key_file)} --type luks2') if os.path.islink(f'/dev/mapper/{mountpoint}'): + self.mappoint = f'/dev/mapper/{mountpoint}' return Partition(f'/dev/mapper/{mountpoint}', encrypted=True, filesystem=get_filesystem_type(f'/dev/mapper/{mountpoint}')) def close(self, mountpoint=None): if not mountpoint: - mountpoint = self.partition.path - - sys_command(f'cryptsetup close /dev/mapper/{mountpoint}') - return os.path.islink(f'/dev/mapper/{mountpoint}') is False + mountpoint = self.mappoint + + sys_command(f'/usr/bin/cryptsetup close {self.mappoint}') + return os.path.islink(self.mappoint) is False def format(self, path): if (handle := sys_command(f"/usr/bin/cryptsetup -q -v luksErase {path}")).exit_code != 0: -- cgit v1.2.3-70-g09d2