
On 07/11/2014 06:35 AM, John Ferlan wrote:
Create a separate typedef for the hostdev union data describing USB. Then adjust the code to use the new pointer
Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/conf/domain_audit.c | 4 ++-- src/conf/domain_conf.c | 50 +++++++++++++++++++--------------------- src/conf/domain_conf.h | 22 ++++++++++-------- src/lxc/lxc_cgroup.c | 4 ++-- src/lxc/lxc_controller.c | 10 ++++---- src/lxc/lxc_driver.c | 16 ++++++------- src/qemu/qemu_cgroup.c | 4 ++-- src/qemu/qemu_command.c | 26 ++++++++++----------- src/qemu/qemu_hotplug.c | 7 +++--- src/security/security_apparmor.c | 6 ++--- src/security/security_dac.c | 12 ++++------ src/security/security_selinux.c | 10 ++++---- src/security/virt-aa-helper.c | 5 ++-- src/util/virhostdev.c | 50 +++++++++++++++------------------------- 14 files changed, 104 insertions(+), 122 deletions(-)
Mostly mechanical fallout from the type shuffle.
diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c index a3d6c67..8277b06 100644 --- a/src/conf/domain_audit.c +++ b/src/conf/domain_audit.c @@ -388,6 +388,7 @@ virDomainAuditHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev, char *address = NULL; char *device = NULL; const char *virt; + virDomainHostdevSubsysUSBPtr usbsrc = &hostdev->source.subsys.u.usb;
virUUIDFormat(vm->def->uuid, uuidstr); if (!(vmname = virAuditEncode("vm", vm->def->name))) { @@ -415,8 +416,7 @@ virDomainAuditHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev, break; case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB: if (virAsprintfQuiet(&address, "%.3d.%.3d", - hostdev->source.subsys.u.usb.bus, - hostdev->source.subsys.u.usb.device) < 0) { + usbsrc->bus, usbsrc->device) < 0) {
I also find it more legible :)
@@ -10104,15 +10102,18 @@ static int virDomainHostdevMatchSubsysUSB(virDomainHostdevDefPtr a, virDomainHostdevDefPtr b) { - if (a->source.subsys.u.usb.bus && a->source.subsys.u.usb.device) { + virDomainHostdevSubsysUSBPtr ausbsrc = &a->source.subsys.u.usb; + virDomainHostdevSubsysUSBPtr busbsrc = &b->source.subsys.u.usb;
I read the second variable as bus_b_src, and tried to figure out what the first one was (was "aus" a typo for "bus"?). Until I saw that you meant b_usb_src. Might be worth an _ in the naming to keep it easier to read. Or even different naming conventions: first, second.
+++ b/src/conf/domain_conf.h @@ -390,20 +390,24 @@ typedef enum {
VIR_ENUM_DECL(virDomainHostdevSubsysPCIBackend)
+typedef struct _virDomainHostdevSubsysUSB virDomainHostdevSubsysUSB; +typedef virDomainHostdevSubsysUSB *virDomainHostdevSubsysUSBPtr; +struct _virDomainHostdevSubsysUSB { + bool autoAddress; /* bus/device were filled automatically based + on vedor/product */
Pre-existing typo, but you might as well fix it during the code motion:
+ unsigned bus; + unsigned device; + + unsigned vendor; + unsigned product; +}; + typedef struct _virDomainHostdevSubsys virDomainHostdevSubsys; typedef virDomainHostdevSubsys *virDomainHostdevSubsysPtr; struct _virDomainHostdevSubsys { int type; /* enum virDomainHostdevSubsysType */ union { - struct { - bool autoAddress; /* bus/device were filled automatically based - on vedor/product */
s/vedor/vendor/ ACK with nits fixed. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org