Added disk helper function get_partitions_in_use(). Which returns which partions are being used at a given mount location, including children.

This commit is contained in:
Anton Hvornum 2021-04-09 11:53:54 +02:00
parent 1395f0888c
commit eb0ae8b1c3
No known key found for this signature in database
GPG Key ID: F1234C5BA67C59DF
2 changed files with 19 additions and 0 deletions

View File

@ -574,6 +574,24 @@ def get_mount_info(path):
return output['filesystems'][0]
def get_partitions_in_use(mountpoint):
try:
output = b''.join(sys_command(f'/usr/bin/findmnt --json -R {path}'))
except SysCallError:
return {}
mounts = []
output = output.decode('UTF-8')
output = json.loads(output)
for target in output.get('filesystems', []):
mounts.append(Partition(target['source'], filesystem=target.get('fstype', None), mountpoint=target['target']))
for child in target.get('children', []):
mounts.append(Partition(child['source'], filesystem=child.get('fstype', None), mountpoint=child['target']))
return mounts
def get_filesystem_type(path):
try:
handle = sys_command(f"blkid -o value -s TYPE {path}")

View File

@ -49,6 +49,7 @@ class Installer():
storage['session'] = self
self.partitions = get_partitions_in_use(self.target)
print(self.partitions)
def log(self, *args, level=LOG_LEVELS.Debug, **kwargs):
"""