mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
qemu: hotplug: Check duplicate disk serial/wwn on hotplug too
We do the check on VM start, but the user could still hotplug a disk with a conflicting serial or WWN. Reuse the checker function to fix the issue.
This commit is contained in:
parent
e76a848e3d
commit
4f1324aa48
@ -23988,7 +23988,7 @@ virDomainDefNeedsPlacementAdvice(virDomainDefPtr def)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
int
|
||||||
virDomainDiskDefCheckDuplicateInfo(virDomainDiskDefPtr a,
|
virDomainDiskDefCheckDuplicateInfo(virDomainDiskDefPtr a,
|
||||||
virDomainDiskDefPtr b)
|
virDomainDiskDefPtr b)
|
||||||
{
|
{
|
||||||
|
@ -3153,6 +3153,9 @@ virDomainParseMemory(const char *xpath,
|
|||||||
bool virDomainDefNeedsPlacementAdvice(virDomainDefPtr def)
|
bool virDomainDefNeedsPlacementAdvice(virDomainDefPtr def)
|
||||||
ATTRIBUTE_NONNULL(1);
|
ATTRIBUTE_NONNULL(1);
|
||||||
|
|
||||||
|
int virDomainDiskDefCheckDuplicateInfo(virDomainDiskDefPtr a,
|
||||||
|
virDomainDiskDefPtr b)
|
||||||
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
|
||||||
int virDomainDefCheckDuplicateDiskInfo(virDomainDefPtr def)
|
int virDomainDefCheckDuplicateDiskInfo(virDomainDefPtr def)
|
||||||
ATTRIBUTE_NONNULL(1);
|
ATTRIBUTE_NONNULL(1);
|
||||||
|
|
||||||
|
@ -257,6 +257,7 @@ virDomainDiskByName;
|
|||||||
virDomainDiskCacheTypeFromString;
|
virDomainDiskCacheTypeFromString;
|
||||||
virDomainDiskCacheTypeToString;
|
virDomainDiskCacheTypeToString;
|
||||||
virDomainDiskDefAssignAddress;
|
virDomainDiskDefAssignAddress;
|
||||||
|
virDomainDiskDefCheckDuplicateInfo;
|
||||||
virDomainDiskDefDstDuplicates;
|
virDomainDiskDefDstDuplicates;
|
||||||
virDomainDiskDefForeachPath;
|
virDomainDiskDefForeachPath;
|
||||||
virDomainDiskDefFree;
|
virDomainDiskDefFree;
|
||||||
|
@ -799,6 +799,9 @@ qemuDomainAttachDeviceDiskLive(virConnectPtr conn,
|
|||||||
_("target %s already exists"), disk->dst);
|
_("target %s already exists"), disk->dst);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (virDomainDiskDefCheckDuplicateInfo(vm->def->disks[i], disk) < 0)
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ((virDomainDiskBus) disk->bus) {
|
switch ((virDomainDiskBus) disk->bus) {
|
||||||
|
Loading…
Reference in New Issue
Block a user