Fix mixup of mount options and fstype during mount (#1258)
Fixed issue where `options` wasn't passed as `options=options` and got mixed up as fs-type.
This commit is contained in:
parent
da8043ede9
commit
3c04a6b196
|
|
@ -89,7 +89,8 @@ class Filesystem:
|
|||
partition['device_instance'] = self.add_partition(partition.get('type', 'primary'),
|
||||
start=start,
|
||||
end=partition.get('size', '100%'),
|
||||
partition_format=partition.get('filesystem', {}).get('format', 'btrfs'))
|
||||
partition_format=partition.get('filesystem', {}).get('format', 'btrfs'),
|
||||
skip_mklabel=layout.get('wipe', False) is not False)
|
||||
|
||||
elif (partition_uuid := partition.get('PARTUUID')):
|
||||
# We try to deal with both UUID and PARTUUID of a partition when it's being re-used.
|
||||
|
|
@ -209,10 +210,10 @@ class Filesystem:
|
|||
# TODO: Implement this with declarative profiles instead.
|
||||
raise ValueError("Installation().use_entire_disk() has to be re-worked.")
|
||||
|
||||
def add_partition(self, partition_type :str, start :str, end :str, partition_format :Optional[str] = None) -> Partition:
|
||||
def add_partition(self, partition_type :str, start :str, end :str, partition_format :Optional[str] = None, skip_mklabel :bool = False) -> Partition:
|
||||
log(f'Adding partition to {self.blockdevice}, {start}->{end}', level=logging.INFO)
|
||||
|
||||
if len(self.blockdevice.partitions) == 0:
|
||||
if len(self.blockdevice.partitions) == 0 and skip_mklabel is False:
|
||||
# If it's a completely empty drive, and we're about to add partitions to it
|
||||
# we need to make sure there's a filesystem label.
|
||||
if self.mode == GPT:
|
||||
|
|
|
|||
|
|
@ -481,6 +481,7 @@ class Partition:
|
|||
def mount(self, target :str, fs :Optional[str] = None, options :str = '') -> bool:
|
||||
if not self.mountpoint:
|
||||
log(f'Mounting {self} to {target}', level=logging.INFO)
|
||||
|
||||
if not fs:
|
||||
if not self.filesystem:
|
||||
raise DiskError(f'Need to format (or define) the filesystem on {self} before mounting.')
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ class Installer:
|
|||
|
||||
if partition.get('filesystem',{}).get('mount_options',[]):
|
||||
mount_options = ','.join(partition['filesystem']['mount_options'])
|
||||
mount_queue[mountpoint] = lambda instance=partition['device_instance'], target=f"{self.target}{mountpoint}", options=mount_options: instance.mount(target, options)
|
||||
mount_queue[mountpoint] = lambda instance=partition['device_instance'], target=f"{self.target}{mountpoint}", options=mount_options: instance.mount(target, options=options)
|
||||
else:
|
||||
mount_queue[mountpoint] = lambda instance=partition['device_instance'], target=f"{self.target}{mountpoint}": instance.mount(target)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue