Fix missing info for pre-mounted disk configuration (#2143)

This commit is contained in:
codefiles 2023-10-02 01:50:20 -04:00 committed by GitHub
parent 71048721ec
commit 8257e9f73f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View File

@ -83,7 +83,9 @@ class DeviceHandler(object):
_PartitionInfo.from_partition( _PartitionInfo.from_partition(
partition, partition,
fs_type, fs_type,
lsblk_info.partn,
lsblk_info.partuuid, lsblk_info.partuuid,
lsblk_info.uuid,
lsblk_info.mountpoints, lsblk_info.mountpoints,
subvol_infos subvol_infos
) )
@ -598,7 +600,12 @@ class DeviceHandler(object):
path = Path(part_info.disk.device.path) path = Path(part_info.disk.device.path)
part_mods.setdefault(path, []) part_mods.setdefault(path, [])
part_mod = PartitionModification.from_existing_partition(part_info) part_mod = PartitionModification.from_existing_partition(part_info)
part_mod.mountpoint = mountpoint.root / mountpoint.relative_to(base_mountpoint) if part_mod.mountpoint:
part_mod.mountpoint = mountpoint.root / mountpoint.relative_to(base_mountpoint)
else:
for subvol in part_mod.btrfs_subvols:
if sm := subvol.mountpoint:
subvol.mountpoint = sm.root / sm.relative_to(base_mountpoint)
part_mods[path].append(part_mod) part_mods[path].append(part_mod)
break break

View File

@ -308,7 +308,9 @@ class _PartitionInfo:
start: Size start: Size
length: Size length: Size
flags: List[PartitionFlag] flags: List[PartitionFlag]
partn: int
partuuid: str partuuid: str
uuid: str
disk: Disk disk: Disk
mountpoints: List[Path] mountpoints: List[Path]
btrfs_subvol_infos: List[_BtrfsSubvolumeInfo] = field(default_factory=list) btrfs_subvol_infos: List[_BtrfsSubvolumeInfo] = field(default_factory=list)
@ -342,7 +344,9 @@ class _PartitionInfo:
cls, cls,
partition: Partition, partition: Partition,
fs_type: Optional[FilesystemType], fs_type: Optional[FilesystemType],
partn: int,
partuuid: str, partuuid: str,
uuid: str,
mountpoints: List[Path], mountpoints: List[Path],
btrfs_subvol_infos: List[_BtrfsSubvolumeInfo] = [] btrfs_subvol_infos: List[_BtrfsSubvolumeInfo] = []
) -> _PartitionInfo: ) -> _PartitionInfo:
@ -370,7 +374,9 @@ class _PartitionInfo:
start=start, start=start,
length=length, length=length,
flags=flags, flags=flags,
partn=partn,
partuuid=partuuid, partuuid=partuuid,
uuid=uuid,
disk=partition.disk, disk=partition.disk,
mountpoints=mountpoints, mountpoints=mountpoints,
btrfs_subvol_infos=btrfs_subvol_infos btrfs_subvol_infos=btrfs_subvol_infos
@ -713,6 +719,9 @@ class PartitionModification:
length=partition_info.length, length=partition_info.length,
fs_type=partition_info.fs_type, fs_type=partition_info.fs_type,
dev_path=partition_info.path, dev_path=partition_info.path,
partn=partition_info.partn,
partuuid=partition_info.partuuid,
uuid=partition_info.uuid,
flags=partition_info.flags, flags=partition_info.flags,
mountpoint=mountpoint, mountpoint=mountpoint,
btrfs_subvols=subvol_mods btrfs_subvols=subvol_mods