diff --git a/src/utils/fs.py b/src/utils/fs.py index 6514b4b..6967439 100644 --- a/src/utils/fs.py +++ b/src/utils/fs.py @@ -153,13 +153,19 @@ def mkfs(fs, disk, partition, label=None): if fs not in fsdict: raise OgError(f'mkfs failed, unsupported target filesystem {fs}') - try: - partdev = get_partition_device(disk, partition) - except ValueError as e: - raise OgError(f'mkfs aborted: {e}') from e + partdev = get_partition_device(disk, partition) - return fsdict[fs](partdev, label) + ret = subprocess.run(['wipefs', '-af', f'{partdev}']) + if ret.returncode != 0: + logging.warning(f'wipefs on {partdev}, fails with {ret.returncode}') + err = fsdict[fs](partdev, label) + if err != 0: + ret = subprocess.run(['wipefs', '-af', f'{partdev}']) + if ret.returncode != 0: + logging.warning(f'wipefs on {partdev} for consistency, fails with {ret.returncode}') + + return err def mkfs_ext4(partdev, label=None): err = -1