[libvirt] [PATCH v3 3/5] Reduce number of parameters to qemuDomainPCIAddressSetCreate
Martin Kletzander
mkletzan at redhat.com
Tue Aug 16 11:59:21 UTC 2016
On Sun, Aug 14, 2016 at 04:14:55AM +0200, Tomasz Flendrich wrote:
>We can as well generate the number of buses inside that function. Fewer
>parameters will be useful when recalculating the pci address set on
>demand.
>---
> src/qemu/qemu_domain_address.c | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
>
The code that this duplicates is kept just for now is is there a need
for it? Looks OK, preliminary ACK.
>diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
>index f916df2..ade4b64 100644
>--- a/src/qemu/qemu_domain_address.c
>+++ b/src/qemu/qemu_domain_address.c
>@@ -924,14 +924,24 @@ qemuDomainValidateDevicePCISlotsChipsets(virDomainDefPtr def,
>
> static virDomainPCIAddressSetPtr
> qemuDomainPCIAddressSetCreate(virDomainDefPtr def,
>- unsigned int nbuses,
> virQEMUCapsPtr qemuCaps,
> bool dryRun,
> bool assign)
> {
> virDomainPCIAddressSetPtr addrs;
>+ int max_idx = -1;
>+ int nbuses = 0;
> size_t i;
>
>+ for (i = 0; i < def->ncontrollers; i++) {
>+ if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
>+ if ((int) def->controllers[i]->idx > max_idx)
>+ max_idx = def->controllers[i]->idx;
>+ }
>+ }
>+
>+ nbuses = max_idx + 1;
>+
> if ((addrs = virDomainPCIAddressSetAlloc(nbuses)) == NULL)
> return NULL;
>
>@@ -1500,7 +1510,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
> virDomainDeviceInfo info;
>
> /* 1st pass to figure out how many PCI bridges we need */
>- if (!(addrs = qemuDomainPCIAddressSetCreate(def, nbuses, qemuCaps,
>+ if (!(addrs = qemuDomainPCIAddressSetCreate(def, qemuCaps,
> true, true)))
> goto cleanup;
>
>@@ -1537,7 +1547,6 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
> virDomainPCIAddressReserveNextSlot(addrs, &info, flags) < 0)
> goto cleanup;
> }
>- nbuses = addrs->nbuses;
> virDomainPCIAddressSetFree(addrs);
> addrs = NULL;
>
>@@ -1549,7 +1558,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
> }
>
> if (qemuDomainSupportsPCI(def, qemuCaps)) {
>- if (!(addrs = qemuDomainPCIAddressSetCreate(def, nbuses, qemuCaps,
>+ if (!(addrs = qemuDomainPCIAddressSetCreate(def, qemuCaps,
> false, true)))
> goto cleanup;
>
>--
>1.9.1
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160816/54dc1522/attachment-0001.sig>
More information about the libvir-list
mailing list