https://bugzilla.redhat.com/show_bug.cgi?id=1366460
When using the --overwrite switch on a pool-build or pool-create, the
The mkfs.ext{2|3|4} commands use mke2fs which requires using the '-F' switch
in order to force overwriting the current filesystem on the whole disk.
Likewise, the mkfs.vfat command uses mkfs.fat which requires using the '-I'
switch in order to force overwriting the current filesystem on the whole disk.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/storage/storage_backend_fs.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 6c8bae2..de0e8d5 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -712,9 +712,17 @@ virStorageBackendExecuteMKFS(const char *device,
cmd = virCommandNewArgList(MKFS, "-t", format, NULL);
- /* use the force, otherwise mkfs.xfs won't overwrite existing fs */
+ /* use the force, otherwise mkfs.xfs won't overwrite existing fs.
+ * Similarly mkfs.ext2, mkfs.ext3, and mkfs.ext4 require supplying -F
+ * and mkfs.vfat uses -I */
if (STREQ(format, "xfs"))
virCommandAddArg(cmd, "-f");
+ else if (STREQ(format, "ext2") ||
+ STREQ(format, "ext3") ||
+ STREQ(format, "ext4"))
+ virCommandAddArg(cmd, "-F");
+ else if (STREQ(format, "vfat"))
+ virCommandAddArg(cmd, "-I");
virCommandAddArg(cmd, device);
--
2.7.4