Increased disk delays by 100% (for unsuccessful operations), successful should still be quick. (#730)
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
This commit is contained in:
parent
7d991ecb9f
commit
776823adfb
|
|
@ -33,7 +33,7 @@ class Filesystem:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def partuuid_to_index(self, uuid):
|
def partuuid_to_index(self, uuid):
|
||||||
for i in range(10):
|
for i in range(storage['DISK_RETRY_ATTEMPTS']):
|
||||||
self.partprobe()
|
self.partprobe()
|
||||||
output = json.loads(SysCommand(f"lsblk --json -o+PARTUUID {self.blockdevice.device}").decode('UTF-8'))
|
output = json.loads(SysCommand(f"lsblk --json -o+PARTUUID {self.blockdevice.device}").decode('UTF-8'))
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ class Filesystem:
|
||||||
if (partuuid := partition.get('partuuid', None)) and partuuid.lower() == uuid:
|
if (partuuid := partition.get('partuuid', None)) and partuuid.lower() == uuid:
|
||||||
return index
|
return index
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(storage['DISK_TIMEOUTS'])
|
||||||
|
|
||||||
raise DiskError(f"Failed to convert PARTUUID {uuid} to a partition index number on blockdevice {self.blockdevice.device}")
|
raise DiskError(f"Failed to convert PARTUUID {uuid} to a partition index number on blockdevice {self.blockdevice.device}")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,7 @@ class Partition:
|
||||||
This is more reliable than relying on /dev/disk/by-partuuid as
|
This is more reliable than relying on /dev/disk/by-partuuid as
|
||||||
it doesn't seam to be able to detect md raid partitions.
|
it doesn't seam to be able to detect md raid partitions.
|
||||||
"""
|
"""
|
||||||
for i in range(10):
|
for i in range(storage['DISK_RETRY_ATTEMPTS']):
|
||||||
self.partprobe()
|
self.partprobe()
|
||||||
|
|
||||||
partuuid_struct = SysCommand(f'lsblk -J -o+PARTUUID {self.path}')
|
partuuid_struct = SysCommand(f'lsblk -J -o+PARTUUID {self.path}')
|
||||||
|
|
@ -155,7 +155,7 @@ class Partition:
|
||||||
if partition_information := next(iter(json.loads(partuuid_struct.decode('UTF-8'))['blockdevices']), None):
|
if partition_information := next(iter(json.loads(partuuid_struct.decode('UTF-8'))['blockdevices']), None):
|
||||||
return partition_information.get('partuuid', None)
|
return partition_information.get('partuuid', None)
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(storage['DISK_TIMEOUTS'])
|
||||||
|
|
||||||
raise DiskError(f"Could not get PARTUUID for {self.path} using 'lsblk -J -o+PARTUUID {self.path}'")
|
raise DiskError(f"Could not get PARTUUID for {self.path} using 'lsblk -J -o+PARTUUID {self.path}'")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,5 +19,7 @@ storage = {
|
||||||
'LOG_PATH': '/var/log/archinstall',
|
'LOG_PATH': '/var/log/archinstall',
|
||||||
'LOG_FILE': 'install.log',
|
'LOG_FILE': 'install.log',
|
||||||
'MOUNT_POINT': '/mnt/archinstall',
|
'MOUNT_POINT': '/mnt/archinstall',
|
||||||
'ENC_IDENTIFIER': 'ainst'
|
'ENC_IDENTIFIER': 'ainst',
|
||||||
|
'DISK_TIMEOUTS' : 1, # seconds
|
||||||
|
'DISK_RETRY_ATTEMPTS' : 20, # RETRY_ATTEMPTS * DISK_TIMEOUTS is used in disk operations
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue