diff --git a/scripts/wk/cfg/hw.py b/scripts/wk/cfg/hw.py index d0d1efb1..1ef7513c 100644 --- a/scripts/wk/cfg/hw.py +++ b/scripts/wk/cfg/hw.py @@ -15,6 +15,7 @@ ATTRIBUTE_COLORS = ( ('Maximum', 'PURPLE'), ) # NOTE: Force 4K read block size for disks >= 3TB +BADBLOCKS_EXTRA_LARGE_DISK = 15 * 1024**4 BADBLOCKS_LARGE_DISK = 3 * 1024**4 BADBLOCKS_REGEX = re.compile( r'^Pass completed, (\d+) bad blocks found. .(\d+)/(\d+)/(\d+) errors', diff --git a/scripts/wk/hw/surface_scan.py b/scripts/wk/hw/surface_scan.py index 50e7eecd..49afd25c 100644 --- a/scripts/wk/hw/surface_scan.py +++ b/scripts/wk/hw/surface_scan.py @@ -6,6 +6,7 @@ import logging from subprocess import STDOUT from wk.cfg.hw import ( + BADBLOCKS_EXTRA_LARGE_DISK, BADBLOCKS_LARGE_DISK, BADBLOCKS_REGEX, BADBLOCKS_RESULTS_REGEX, @@ -68,6 +69,8 @@ def run_scan(test_obj, log_path, test_mode=False) -> None: test_obj.set_status('Working') # Increase block size if necessary + if dev.size >= BADBLOCKS_EXTRA_LARGE_DISK: + block_size = '8192' if (dev.phy_sec == 4096 or dev.size >= BADBLOCKS_LARGE_DISK): block_size = '4096'