https://bugzilla.redhat.com/show_bug.cgi?id=1181062 According to the formatstorage.html description for <source> element and "format" attribute: "All drivers are required to have a default value for this, so it is optional." As it turns out the disk backend did not choose a default value, so I added a default of "msdos" if the source type is "unknown" as well as updating the storage.html backend disk volume driver documentation to indicate the default format is dos. Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> --- docs/storage.html.in | 1 + src/storage/storage_backend_disk.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/storage.html.in b/docs/storage.html.in index f920dae..b9b503d 100644 --- a/docs/storage.html.in +++ b/docs/storage.html.in @@ -346,6 +346,7 @@ on the size and placement of volumes. The 'free extents' information will detail the regions which are available for creating new volumes. A volume cannot span across 2 different free extents. + It will default to using <code>msdos</code> as the pool source format. </p> <h3>Example pool input</h3> diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c index 39082cc..9a79325 100644 --- a/src/storage/storage_backend_disk.c +++ b/src/storage/storage_backend_disk.c @@ -468,13 +468,20 @@ virStorageBackendDiskBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED, } if (ok_to_mklabel) { - /* eg parted /dev/sda mklabel msdos */ + /* eg parted /dev/sda mklabel --script msdos */ + int format = pool->def->source.format; + const char *fmt; + if (format == VIR_STORAGE_POOL_DISK_UNKNOWN || + format == VIR_STORAGE_POOL_DISK_DOS) + fmt = "msdos"; + else + fmt = virStoragePoolFormatDiskTypeToString(format); + cmd = virCommandNewArgList(PARTED, pool->def->source.devices[0].path, "mklabel", "--script", - ((pool->def->source.format == VIR_STORAGE_POOL_DISK_DOS) ? "msdos" : - virStoragePoolFormatDiskTypeToString(pool->def->source.format)), + fmt, NULL); ret = virCommandRun(cmd, NULL); } -- 2.1.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list