mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: Move disk driver name validation into disk validation callback
There were two places where we'd check this independently. Move it to the disk definition validation callback. This also fixes possible use of NULL in a printf for network storage. Signed-off-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
97a467b3c4
commit
ca2943ad9a
@ -9719,18 +9719,6 @@ qemuBuildCommandLineValidate(virQEMUDriverPtr driver,
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
virDomainDiskDefPtr disk = def->disks[i];
|
||||
|
||||
if (disk->src->driverName != NULL &&
|
||||
STRNEQ(disk->src->driverName, "qemu")) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("unsupported driver name '%s' for disk '%s'"),
|
||||
disk->src->driverName, disk->src->path);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -4142,6 +4142,7 @@ static int
|
||||
qemuDomainDeviceDefValidateDisk(const virDomainDiskDef *disk,
|
||||
virQEMUCapsPtr qemuCaps)
|
||||
{
|
||||
const char *driverName = virDomainDiskGetDriver(disk);
|
||||
virStorageSourcePtr n;
|
||||
|
||||
if (disk->src->shared && !disk->src->readonly) {
|
||||
@ -4160,6 +4161,13 @@ qemuDomainDeviceDefValidateDisk(const virDomainDiskDef *disk,
|
||||
}
|
||||
}
|
||||
|
||||
if (driverName && STRNEQ(driverName, "qemu")) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("unsupported driver name '%s' for disk '%s'"),
|
||||
driverName, disk->dst);
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) {
|
||||
if (qemuDomainValidateStorageSource(n, qemuCaps) < 0)
|
||||
return -1;
|
||||
|
@ -699,13 +699,6 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
|
||||
virDomainDiskDefPtr orig_disk = NULL;
|
||||
int ret = -1;
|
||||
|
||||
if (STRNEQ_NULLABLE(virDomainDiskGetDriver(disk), "qemu")) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("unsupported driver name '%s' for disk '%s'"),
|
||||
virDomainDiskGetDriver(disk), disk->dst);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virDomainDiskTranslateSourcePool(disk) < 0)
|
||||
goto cleanup;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user