Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/disk/mapperdev.py
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall/lib/disk/mapperdev.py')
-rw-r--r--archinstall/lib/disk/mapperdev.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/archinstall/lib/disk/mapperdev.py b/archinstall/lib/disk/mapperdev.py
index 913dbc13..71ef2a79 100644
--- a/archinstall/lib/disk/mapperdev.py
+++ b/archinstall/lib/disk/mapperdev.py
@@ -10,7 +10,7 @@ from ..general import SysCommand
from ..output import log
if TYPE_CHECKING:
- from .btrfs import BtrfsSubvolume
+ from .btrfs import BtrfsSubvolumeInfo
@dataclass
class MapperDev:
@@ -37,12 +37,12 @@ class MapperDev:
for slave in glob.glob(f"/sys/class/block/{dm_device.name}/slaves/*"):
partition_belonging_to_dmcrypt_device = pathlib.Path(slave).name
-
+
try:
uevent_data = SysCommand(f"blkid -o export /dev/{partition_belonging_to_dmcrypt_device}").decode()
except SysCallError as error:
log(f"Could not get information on device /dev/{partition_belonging_to_dmcrypt_device}: {error}", level=logging.ERROR, fg="red")
-
+
information = uevent(uevent_data)
block_device = BlockDevice(get_parent_of_partition('/dev/' / pathlib.Path(information['DEVNAME'])))
@@ -65,9 +65,13 @@ class MapperDev:
return None
@property
+ def mountpoints(self) -> List[Dict[str, Any]]:
+ return [obj['target'] for obj in self.mount_information]
+
+ @property
def mount_information(self) -> List[Dict[str, Any]]:
from .helpers import find_mountpoint
- return list(find_mountpoint(self.path))
+ return [{**obj, 'target' : pathlib.Path(obj.get('target', '/dev/null'))} for obj in find_mountpoint(self.path)]
@property
def filesystem(self) -> Optional[str]:
@@ -75,10 +79,10 @@ class MapperDev:
return get_filesystem_type(self.path)
@property
- def subvolumes(self) -> Iterator['BtrfsSubvolume']:
+ def subvolumes(self) -> Iterator['BtrfsSubvolumeInfo']:
from .btrfs import subvolume_info_from_path
for mountpoint in self.mount_information:
if target := mountpoint.get('target'):
if subvolume := subvolume_info_from_path(pathlib.Path(target)):
- yield subvolume \ No newline at end of file
+ yield subvolume