[libvirt] [PATCH 0/2] domain_addr: move qemu function and rename

qemuDomainCCWAddrSetCreateFromDomain moved from qemu_domain_addr to domain_addr and rename to virDomainCCWAddrSetCreateFromDomain because it is not a qemu-specific function Anya Harter (2): qemu: move qemuDomainCCWAddrSetCreateFromDomain domain_addr: refactor qemuDomainCCWAddrSetCreateFromDomain src/conf/domain_addr.c | 24 ++++++++++++++++++++++++ src/conf/domain_addr.h | 4 ++++ src/qemu/qemu_domain_address.c | 26 ++------------------------ src/qemu/qemu_domain_address.h | 4 ---- src/qemu/qemu_hotplug.c | 4 ++-- 5 files changed, 32 insertions(+), 30 deletions(-) -- 2.17.1

from src/qemu/qemu_domain_address.[ch] to src/conf/domain_addr.[ch] Signed-off-by: Anya Harter <aharter@redhat.com> --- src/conf/domain_addr.c | 24 ++++++++++++++++++++++++ src/conf/domain_addr.h | 4 ++++ src/qemu/qemu_domain_address.c | 22 ---------------------- src/qemu/qemu_domain_address.h | 4 ---- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 39f22b82eb..6c39608e01 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1209,6 +1209,30 @@ virDomainCCWAddressSetCreate(void) } +virDomainCCWAddressSetPtr +qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) +{ + virDomainCCWAddressSetPtr addrs = NULL; + + if (!(addrs = virDomainCCWAddressSetCreate())) + goto error; + + if (virDomainDeviceInfoIterate(def, virDomainCCWAddressValidate, + addrs) < 0) + goto error; + + if (virDomainDeviceInfoIterate(def, virDomainCCWAddressAllocate, + addrs) < 0) + goto error; + + return addrs; + + error: + virDomainCCWAddressSetFree(addrs); + return NULL; +} + + #define VIR_DOMAIN_DEFAULT_VIRTIO_SERIAL_PORTS 31 diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h index 3236b7d6de..039efcaaf1 100644 --- a/src/conf/domain_addr.h +++ b/src/conf/domain_addr.h @@ -205,6 +205,10 @@ int virDomainCCWAddressReleaseAddr(virDomainCCWAddressSetPtr addrs, ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); virDomainCCWAddressSetPtr virDomainCCWAddressSetCreate(void); +virDomainCCWAddressSetPtr +qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) + ATTRIBUTE_NONNULL(1); + struct _virDomainVirtioSerialController { unsigned int idx; virBitmapPtr ports; diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index e9f460d77a..b1aef64d89 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -376,28 +376,6 @@ qemuDomainPrimeVirtioDeviceAddresses(virDomainDefPtr def, } } -virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) -{ - virDomainCCWAddressSetPtr addrs = NULL; - - if (!(addrs = virDomainCCWAddressSetCreate())) - goto error; - - if (virDomainDeviceInfoIterate(def, virDomainCCWAddressValidate, - addrs) < 0) - goto error; - - if (virDomainDeviceInfoIterate(def, virDomainCCWAddressAllocate, - addrs) < 0) - goto error; - - return addrs; - - error: - virDomainCCWAddressSetFree(addrs); - return NULL; -} /* * Three steps populating CCW devnos diff --git a/src/qemu/qemu_domain_address.h b/src/qemu/qemu_domain_address.h index 83f8e81cad..89d7a5ac3e 100644 --- a/src/qemu/qemu_domain_address.h +++ b/src/qemu/qemu_domain_address.h @@ -59,10 +59,6 @@ void qemuDomainReleaseDeviceAddress(virDomainObjPtr vm, virDomainDeviceInfoPtr info, const char *devstr); -virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) - ATTRIBUTE_NONNULL(1); - int qemuDomainAssignMemoryDeviceSlot(virDomainDefPtr def, virDomainMemoryDefPtr mem); -- 2.17.1

On 06/28/2018 04:23 PM, Anya Harter wrote:
from src/qemu/qemu_domain_address.[ch] to src/conf/domain_addr.[ch]
Signed-off-by: Anya Harter <aharter@redhat.com> --- src/conf/domain_addr.c | 24 ++++++++++++++++++++++++ src/conf/domain_addr.h | 4 ++++ src/qemu/qemu_domain_address.c | 22 ---------------------- src/qemu/qemu_domain_address.h | 4 ---- 4 files changed, 28 insertions(+), 26 deletions(-)
While I can appreciate the 2 patch approach for ease of review, patch 1 and patch 2 should be combined. Once you move a function into src/conf/* - give it the vir* prefix. Since you now have a function inside src/conf called from a driver, you must add the function to src/libvirt_private.syms (otherwise your build fails - at least mine did). Additionally, once patches are combined virDomainCCWAddressSetCreate, virDomainCCWAddressValidate, and virDomainCCWAddressAllocate (moved in this patch) all become local/static to domain_addr and thus can be removed from domain_addr.h and libvirt_private.syms John BTW: The ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4) from the .h file that would then be "lost" could be added after the "static int" in the .c file, although that's not a requirement. We're finding those are really only useful if someone pass NULL as an argument and less useful if an argument itself is NULL (which isn't the case here).
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 39f22b82eb..6c39608e01 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1209,6 +1209,30 @@ virDomainCCWAddressSetCreate(void) }
+virDomainCCWAddressSetPtr +qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) +{ + virDomainCCWAddressSetPtr addrs = NULL; + + if (!(addrs = virDomainCCWAddressSetCreate())) + goto error; + + if (virDomainDeviceInfoIterate(def, virDomainCCWAddressValidate, + addrs) < 0) + goto error; + + if (virDomainDeviceInfoIterate(def, virDomainCCWAddressAllocate, + addrs) < 0) + goto error; + + return addrs; + + error: + virDomainCCWAddressSetFree(addrs); + return NULL; +} + + #define VIR_DOMAIN_DEFAULT_VIRTIO_SERIAL_PORTS 31
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h index 3236b7d6de..039efcaaf1 100644 --- a/src/conf/domain_addr.h +++ b/src/conf/domain_addr.h @@ -205,6 +205,10 @@ int virDomainCCWAddressReleaseAddr(virDomainCCWAddressSetPtr addrs, ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); virDomainCCWAddressSetPtr virDomainCCWAddressSetCreate(void);
+virDomainCCWAddressSetPtr +qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) + ATTRIBUTE_NONNULL(1); + struct _virDomainVirtioSerialController { unsigned int idx; virBitmapPtr ports; diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index e9f460d77a..b1aef64d89 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -376,28 +376,6 @@ qemuDomainPrimeVirtioDeviceAddresses(virDomainDefPtr def, } }
-virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) -{ - virDomainCCWAddressSetPtr addrs = NULL; - - if (!(addrs = virDomainCCWAddressSetCreate())) - goto error; - - if (virDomainDeviceInfoIterate(def, virDomainCCWAddressValidate, - addrs) < 0) - goto error; - - if (virDomainDeviceInfoIterate(def, virDomainCCWAddressAllocate, - addrs) < 0) - goto error; - - return addrs; - - error: - virDomainCCWAddressSetFree(addrs); - return NULL; -}
/* * Three steps populating CCW devnos diff --git a/src/qemu/qemu_domain_address.h b/src/qemu/qemu_domain_address.h index 83f8e81cad..89d7a5ac3e 100644 --- a/src/qemu/qemu_domain_address.h +++ b/src/qemu/qemu_domain_address.h @@ -59,10 +59,6 @@ void qemuDomainReleaseDeviceAddress(virDomainObjPtr vm, virDomainDeviceInfoPtr info, const char *devstr);
-virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) - ATTRIBUTE_NONNULL(1); - int qemuDomainAssignMemoryDeviceSlot(virDomainDefPtr def, virDomainMemoryDefPtr mem);

On 07/02/2018 04:48 PM, John Ferlan wrote:
On 06/28/2018 04:23 PM, Anya Harter wrote:
from src/qemu/qemu_domain_address.[ch] to src/conf/domain_addr.[ch]
Signed-off-by: Anya Harter <aharter@redhat.com> --- src/conf/domain_addr.c | 24 ++++++++++++++++++++++++ src/conf/domain_addr.h | 4 ++++ src/qemu/qemu_domain_address.c | 22 ---------------------- src/qemu/qemu_domain_address.h | 4 ---- 4 files changed, 28 insertions(+), 26 deletions(-)
While I can appreciate the 2 patch approach for ease of review, patch 1 and patch 2 should be combined. Once you move a function into src/conf/* - give it the vir* prefix.
Since you now have a function inside src/conf called from a driver, you must add the function to src/libvirt_private.syms (otherwise your build fails - at least mine did).
Woops! I missed that step.
Additionally, once patches are combined virDomainCCWAddressSetCreate, virDomainCCWAddressValidate, and virDomainCCWAddressAllocate (moved in this patch) all become local/static to domain_addr and thus can be removed from domain_addr.h and libvirt_private.syms
I'm going to do this as part of a separate patch series which makes several functions static which are unused elsewhere.
John
BTW: The ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4) from the .h file that would then be "lost" could be added after the "static int" in the .c file, although that's not a requirement. We're finding those are really only useful if someone pass NULL as an argument and less useful if an argument itself is NULL (which isn't the case here).
I will keep this in mind for my other patch series. Thanks, Anya
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 39f22b82eb..6c39608e01 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1209,6 +1209,30 @@ virDomainCCWAddressSetCreate(void) }
+virDomainCCWAddressSetPtr +qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) +{ + virDomainCCWAddressSetPtr addrs = NULL; + + if (!(addrs = virDomainCCWAddressSetCreate())) + goto error; + + if (virDomainDeviceInfoIterate(def, virDomainCCWAddressValidate, + addrs) < 0) + goto error; + + if (virDomainDeviceInfoIterate(def, virDomainCCWAddressAllocate, + addrs) < 0) + goto error; + + return addrs; + + error: + virDomainCCWAddressSetFree(addrs); + return NULL; +} + + #define VIR_DOMAIN_DEFAULT_VIRTIO_SERIAL_PORTS 31
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h index 3236b7d6de..039efcaaf1 100644 --- a/src/conf/domain_addr.h +++ b/src/conf/domain_addr.h @@ -205,6 +205,10 @@ int virDomainCCWAddressReleaseAddr(virDomainCCWAddressSetPtr addrs, ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); virDomainCCWAddressSetPtr virDomainCCWAddressSetCreate(void);
+virDomainCCWAddressSetPtr +qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) + ATTRIBUTE_NONNULL(1); + struct _virDomainVirtioSerialController { unsigned int idx; virBitmapPtr ports; diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index e9f460d77a..b1aef64d89 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -376,28 +376,6 @@ qemuDomainPrimeVirtioDeviceAddresses(virDomainDefPtr def, } }
-virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) -{ - virDomainCCWAddressSetPtr addrs = NULL; - - if (!(addrs = virDomainCCWAddressSetCreate())) - goto error; - - if (virDomainDeviceInfoIterate(def, virDomainCCWAddressValidate, - addrs) < 0) - goto error; - - if (virDomainDeviceInfoIterate(def, virDomainCCWAddressAllocate, - addrs) < 0) - goto error; - - return addrs; - - error: - virDomainCCWAddressSetFree(addrs); - return NULL; -}
/* * Three steps populating CCW devnos diff --git a/src/qemu/qemu_domain_address.h b/src/qemu/qemu_domain_address.h index 83f8e81cad..89d7a5ac3e 100644 --- a/src/qemu/qemu_domain_address.h +++ b/src/qemu/qemu_domain_address.h @@ -59,10 +59,6 @@ void qemuDomainReleaseDeviceAddress(virDomainObjPtr vm, virDomainDeviceInfoPtr info, const char *devstr);
-virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) - ATTRIBUTE_NONNULL(1); - int qemuDomainAssignMemoryDeviceSlot(virDomainDefPtr def, virDomainMemoryDefPtr mem);

to virDomainCCWAddrSetCreateFromDomain Signed-off-by: Anya Harter <aharter@redhat.com> --- src/conf/domain_addr.c | 2 +- src/conf/domain_addr.h | 2 +- src/qemu/qemu_domain_address.c | 4 ++-- src/qemu/qemu_hotplug.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 6c39608e01..5730b3b859 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1210,7 +1210,7 @@ virDomainCCWAddressSetCreate(void) virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) +virDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) { virDomainCCWAddressSetPtr addrs = NULL; diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h index 039efcaaf1..35530e464c 100644 --- a/src/conf/domain_addr.h +++ b/src/conf/domain_addr.h @@ -206,7 +206,7 @@ int virDomainCCWAddressReleaseAddr(virDomainCCWAddressSetPtr addrs, virDomainCCWAddressSetPtr virDomainCCWAddressSetCreate(void); virDomainCCWAddressSetPtr -qemuDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) +virDomainCCWAddrSetCreateFromDomain(virDomainDefPtr def) ATTRIBUTE_NONNULL(1); struct _virDomainVirtioSerialController { diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index b1aef64d89..cf29b4be9b 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -398,7 +398,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def, qemuDomainPrimeVirtioDeviceAddresses( def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW); - if (!(addrs = qemuDomainCCWAddrSetCreateFromDomain(def))) + if (!(addrs = virDomainCCWAddrSetCreateFromDomain(def))) goto cleanup; } else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) { @@ -3005,7 +3005,7 @@ qemuDomainEnsureVirtioAddress(bool *releaseAddr, } if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { - if (!(ccwaddrs = qemuDomainCCWAddrSetCreateFromDomain(vm->def))) + if (!(ccwaddrs = virDomainCCWAddrSetCreateFromDomain(vm->def))) goto cleanup; if (virDomainCCWAddressAssign(info, ccwaddrs, !info->addr.ccw.assigned) < 0) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index fcd8eb0ffa..21e86ddbfe 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -964,7 +964,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, if (qemuDomainIsS390CCW(vm->def) && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CCW)) { net->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; - if (!(ccwaddrs = qemuDomainCCWAddrSetCreateFromDomain(vm->def))) + if (!(ccwaddrs = virDomainCCWAddrSetCreateFromDomain(vm->def))) goto cleanup; if (virDomainCCWAddressAssign(&net->info, ccwaddrs, !net->info.addr.ccw.assigned) < 0) @@ -2375,7 +2375,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriverPtr driver, if (qemuDomainEnsurePCIAddress(vm, &dev, driver) < 0) goto cleanup; } else if (hostdev->info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { - if (!(ccwaddrs = qemuDomainCCWAddrSetCreateFromDomain(vm->def))) + if (!(ccwaddrs = virDomainCCWAddrSetCreateFromDomain(vm->def))) goto cleanup; if (virDomainCCWAddressAssign(hostdev->info, ccwaddrs, !hostdev->info->addr.ccw.assigned) < 0) -- 2.17.1
participants (2)
-
Anya Harter
-
John Ferlan