Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/disk/blockdevice.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-11-11 07:55:16 +0000
committerGitHub <noreply@github.com>2021-11-11 07:55:16 +0000
commit273b7aaa994170f65055c7db178a548544b5bb76 (patch)
treeaf503266810a971d51d45b73ff1eace96413401e /archinstall/lib/disk/blockdevice.py
parentb7fcbf13bc1d3d1b1a6255d6eb2986149fa56982 (diff)
parentfaadc2b96831a2f55fa7430a3c4ae63c172cefa6 (diff)
Merge pull request #709 from wllacer/master
Solves issue #689. Attribute Error.'None type' has no attribute 'form…
Diffstat (limited to 'archinstall/lib/disk/blockdevice.py')
-rw-r--r--archinstall/lib/disk/blockdevice.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/archinstall/lib/disk/blockdevice.py b/archinstall/lib/disk/blockdevice.py
index 048e51f4..5204f09b 100644
--- a/archinstall/lib/disk/blockdevice.py
+++ b/archinstall/lib/disk/blockdevice.py
@@ -1,9 +1,11 @@
import os
import json
import logging
+import time
from ..exceptions import DiskError
from ..output import log
from ..general import SysCommand
+from ..storage import storage
GIGA = 2 ** 30
@@ -213,6 +215,15 @@ class BlockDevice:
self.part_cache = {}
def get_partition(self, uuid):
- for partition in self:
- if partition.uuid == uuid:
- return partition
+ count = 0
+ while count < 5:
+ for partition in self:
+ if partition.uuid == uuid:
+ return partition
+ else:
+ log(f"uuid {uuid} not found. Waiting for {count +1} time",level=logging.DEBUG)
+ time.sleep(float(storage['arguments'].get('disk-sleep', 0.2)))
+ count += 1
+ else:
+ log(f"Could not find {uuid} in disk after 5 retries",level=logging.INFO)
+ raise DiskError(f"New partition {uuid} never showed up after adding new partition on {self}")