Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/disk/partition.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2022-01-25 16:09:34 +0100
committerGitHub <noreply@github.com>2022-01-25 16:09:34 +0100
commit1aa738691e261b3dfaf5195ec7636617a283d47a (patch)
tree984508bfe332ea5cbe3bd2885a9b3c2cfe4ae9d4 /archinstall/lib/disk/partition.py
parent5406f1ed4541f46b28435434be04e82ee4378f1b (diff)
Fixing the 'device_instance' being None in some partition places (#902)
* Added a new return value from add_partition. Also added an exception to make sure `add_partition` can't continue silently * Added a log of debugging to add_partition * Removed a blank line (flake8) * Misconfigured variable * Added some more debugging information to partprobe * FIX: disk layout: partprobe should be called and checked only for target device (#896) * disk layout: partprobe should be called and checked only for target device * disk layout: partprobe: removed unnecessary bash subprocess * Properly defined BlockDevice() on Partition() creation. Also made sure mount-checks got some rrro handling and non-block devices should no longer attempt to return a size Co-authored-by: Anton Hvornum <anton.feeds@gmail.com> Co-authored-by: Victor Gavro <vgavro@gmail.com>
Diffstat (limited to 'archinstall/lib/disk/partition.py')
-rw-r--r--archinstall/lib/disk/partition.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/archinstall/lib/disk/partition.py b/archinstall/lib/disk/partition.py
index b3db143a..afd34f20 100644
--- a/archinstall/lib/disk/partition.py
+++ b/archinstall/lib/disk/partition.py
@@ -46,11 +46,12 @@ class Partition:
except DiskError:
mount_information = {}
- if self.mountpoint != mount_information.get('target', None) and mountpoint:
- raise DiskError(f"{self} was given a mountpoint but the actual mountpoint differs: {mount_information.get('target', None)}")
+ if mount_information.get('target', None):
+ if self.mountpoint != mount_information.get('target', None) and mountpoint:
+ raise DiskError(f"{self} was given a mountpoint but the actual mountpoint differs: {mount_information.get('target', None)}")
- if target := mount_information.get('target', None):
- self.mountpoint = target
+ if target := mount_information.get('target', None):
+ self.mountpoint = target
if not self.filesystem and autodetect_filesystem:
if fstype := mount_information.get('fstype', get_filesystem_type(path)):
@@ -130,6 +131,9 @@ class Partition:
for device in lsblk['blockdevices']:
return convert_size_to_gb(device['size'])
+ elif handle.exit_code == 8192:
+ # Device is not a block device
+ return None
time.sleep(storage['DISK_TIMEOUTS'])
@@ -225,7 +229,7 @@ class Partition:
return bind_name
def partprobe(self) -> bool:
- if SysCommand(f'partprobe {self.block_device.device}').exit_code == 0:
+ if self.block_device and SysCommand(f'partprobe {self.block_device.device}').exit_code == 0:
time.sleep(1)
return True
return False