mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
Rename qemudShrinkDisks to virDomainDiskRemove and move to domain_conf.c
Other drivers will need this same functionality, so move it to up to conf/domain_conf.c and give it a more general name. Signed-off-by: Soren Hansen <soren@linux2go.dk>
This commit is contained in:
parent
e9406e9ea7
commit
efe4e210b8
@ -4064,6 +4064,24 @@ void virDomainDiskInsertPreAlloced(virDomainDefPtr def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void virDomainDiskRemove(virDomainDefPtr def, size_t i)
|
||||||
|
{
|
||||||
|
if (def->ndisks > 1) {
|
||||||
|
memmove(def->disks + i,
|
||||||
|
def->disks + i + 1,
|
||||||
|
sizeof(*def->disks) *
|
||||||
|
(def->ndisks - (i + 1)));
|
||||||
|
def->ndisks--;
|
||||||
|
if (VIR_REALLOC_N(def->disks, def->ndisks) < 0) {
|
||||||
|
/* ignore, harmless */
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
VIR_FREE(def->disks);
|
||||||
|
def->ndisks = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int virDomainControllerInsert(virDomainDefPtr def,
|
int virDomainControllerInsert(virDomainDefPtr def,
|
||||||
virDomainControllerDefPtr controller)
|
virDomainControllerDefPtr controller)
|
||||||
{
|
{
|
||||||
|
@ -1067,6 +1067,8 @@ void virDomainDiskInsertPreAlloced(virDomainDefPtr def,
|
|||||||
virDomainDiskDefPtr disk);
|
virDomainDiskDefPtr disk);
|
||||||
int virDomainDiskDefAssignAddress(virCapsPtr caps, virDomainDiskDefPtr def);
|
int virDomainDiskDefAssignAddress(virCapsPtr caps, virDomainDiskDefPtr def);
|
||||||
|
|
||||||
|
void virDomainDiskRemove(virDomainDefPtr def, size_t i);
|
||||||
|
|
||||||
int virDomainControllerInsert(virDomainDefPtr def,
|
int virDomainControllerInsert(virDomainDefPtr def,
|
||||||
virDomainControllerDefPtr controller);
|
virDomainControllerDefPtr controller);
|
||||||
void virDomainControllerInsertPreAlloced(virDomainDefPtr def,
|
void virDomainControllerInsertPreAlloced(virDomainDefPtr def,
|
||||||
|
@ -144,6 +144,7 @@ virDomainDiskDefFree;
|
|||||||
virDomainDiskDeviceTypeToString;
|
virDomainDiskDeviceTypeToString;
|
||||||
virDomainDiskInsert;
|
virDomainDiskInsert;
|
||||||
virDomainDiskInsertPreAlloced;
|
virDomainDiskInsertPreAlloced;
|
||||||
|
virDomainDiskRemove;
|
||||||
virDomainDiskDefAssignAddress;
|
virDomainDiskDefAssignAddress;
|
||||||
virDomainControllerInsert;
|
virDomainControllerInsert;
|
||||||
virDomainControllerInsertPreAlloced;
|
virDomainControllerInsertPreAlloced;
|
||||||
|
@ -8583,22 +8583,6 @@ static inline int qemudFindDisk(virDomainDefPtr def, const char *dst)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void qemudShrinkDisks(virDomainDefPtr def, size_t i)
|
|
||||||
{
|
|
||||||
if (def->ndisks > 1) {
|
|
||||||
memmove(def->disks + i,
|
|
||||||
def->disks + i + 1,
|
|
||||||
sizeof(*def->disks) *
|
|
||||||
(def->ndisks - (i + 1)));
|
|
||||||
def->ndisks--;
|
|
||||||
if (VIR_REALLOC_N(def->disks, def->ndisks) < 0) {
|
|
||||||
/* ignore, harmless */
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
VIR_FREE(def->disks);
|
|
||||||
def->ndisks = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int qemudDomainDetachPciDiskDevice(struct qemud_driver *driver,
|
static int qemudDomainDetachPciDiskDevice(struct qemud_driver *driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
@ -8655,7 +8639,7 @@ static int qemudDomainDetachPciDiskDevice(struct qemud_driver *driver,
|
|||||||
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
|
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
|
||||||
VIR_WARN("Unable to release PCI address on %s", dev->data.disk->src);
|
VIR_WARN("Unable to release PCI address on %s", dev->data.disk->src);
|
||||||
|
|
||||||
qemudShrinkDisks(vm->def, i);
|
virDomainDiskRemove(vm->def, i);
|
||||||
|
|
||||||
virDomainDiskDefFree(detach);
|
virDomainDiskDefFree(detach);
|
||||||
|
|
||||||
@ -8719,7 +8703,7 @@ static int qemudDomainDetachSCSIDiskDevice(struct qemud_driver *driver,
|
|||||||
}
|
}
|
||||||
qemuDomainObjExitMonitorWithDriver(driver, vm);
|
qemuDomainObjExitMonitorWithDriver(driver, vm);
|
||||||
|
|
||||||
qemudShrinkDisks(vm->def, i);
|
virDomainDiskRemove(vm->def, i);
|
||||||
|
|
||||||
virDomainDiskDefFree(detach);
|
virDomainDiskDefFree(detach);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user