mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
disk: Provide a default storage source format type.
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.
This commit is contained in:
parent
e0e290552b
commit
832a9256b2
@ -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>
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user