Removes btrfs subvolume warnings on incorrect subvolume locations (#1267)
* Adding debug information * Adding debug information * Adding debug information * Removed a 'already-a-subvolume' check as it requires more information. * Adding debug information * Adding debug information * Made sure Partition().subvolumes() only attempts to retrieve btrfs subvolume information if fstype==btrfs. * Removed debug information
This commit is contained in:
parent
5c9bd235d3
commit
486ad7dd6d
|
|
@ -108,9 +108,13 @@ class BTRFSPartition(Partition):
|
|||
|
||||
if glob.glob(str(subvolume / '*')):
|
||||
raise DiskError(f"Cannot create subvolume at {subvolume} because it contains data (non-empty folder target is not supported by BTRFS)")
|
||||
elif subvolinfo := subvolume_info_from_path(subvolume):
|
||||
raise DiskError(f"Destination {subvolume} is already a subvolume: {subvolinfo}")
|
||||
# Ideally we would like to check if the destination is already a subvolume.
|
||||
# But then we would need the mount-point at this stage as well.
|
||||
# So we'll comment out this check:
|
||||
# elif subvolinfo := subvolume_info_from_path(subvolume):
|
||||
# raise DiskError(f"Destination {subvolume} is already a subvolume: {subvolinfo}")
|
||||
|
||||
# And deal with it here:
|
||||
SysCommand(f"btrfs subvolume create {subvolume}")
|
||||
|
||||
return subvolume_info_from_path(subvolume)
|
||||
|
|
@ -310,8 +310,9 @@ class Partition:
|
|||
def iterate_children_recursively(information):
|
||||
for child in information.get('children', []):
|
||||
if target := child.get('target'):
|
||||
if subvolume := subvolume_info_from_path(pathlib.Path(target)):
|
||||
yield subvolume
|
||||
if child.get('fstype') == 'btrfs':
|
||||
if subvolume := subvolume_info_from_path(pathlib.Path(target)):
|
||||
yield subvolume
|
||||
|
||||
if child.get('children'):
|
||||
for subchild in iterate_children_recursively(child):
|
||||
|
|
@ -320,8 +321,9 @@ class Partition:
|
|||
for mountpoint in self.mount_information:
|
||||
if result := findmnt(pathlib.Path(mountpoint['target'])):
|
||||
for filesystem in result.get('filesystems', []):
|
||||
if subvolume := subvolume_info_from_path(pathlib.Path(mountpoint['target'])):
|
||||
yield subvolume
|
||||
if mountpoint.get('fstype') == 'btrfs':
|
||||
if subvolume := subvolume_info_from_path(pathlib.Path(mountpoint['target'])):
|
||||
yield subvolume
|
||||
|
||||
for child in iterate_children_recursively(filesystem):
|
||||
yield child
|
||||
|
|
|
|||
Loading…
Reference in New Issue