diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index 6c8bae22ce..de0e8d57df 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);