From feb876660e8a1946d0c3b23bc543665f6ef4b017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 3 Jun 2016 11:03:41 +0200 Subject: [PATCH] Split out pciaccess (de)initialization Move pci_system_init and pci_system_cleanup into separate functions, to make the conditional compilation easier to read. --- src/node_device/node_device_udev.c | 43 +++++++++++++++++++----------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 86862d68d1..ebf514515c 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1474,6 +1474,18 @@ static int udevEnumerateDevices(struct udev *udev) } +static void udevPCITranslateDeinit(void) +{ +#if defined __s390__ || defined __s390x_ + /* Nothing was initialized, nothing needs to be cleaned up */ +#else + /* pci_system_cleanup returns void */ + pci_system_cleanup(); +#endif + return; +} + + static int nodeStateCleanup(void) { int ret = 0; @@ -1509,13 +1521,7 @@ static int nodeStateCleanup(void) ret = -1; } -#if defined __s390__ || defined __s390x_ - /* Nothing was initialized, nothing needs to be cleaned up */ -#else - /* pci_system_cleanup returns void */ - pci_system_cleanup(); -#endif - + udevPCITranslateDeinit(); return ret; } @@ -1674,14 +1680,8 @@ static int udevSetupSystemDev(void) return ret; } -static int nodeStateInitialize(bool privileged, - virStateInhibitCallback callback ATTRIBUTE_UNUSED, - void *opaque ATTRIBUTE_UNUSED) +static int udevPCITranslateInit(bool privileged ATTRIBUTE_UNUSED) { - udevPrivate *priv = NULL; - struct udev *udev = NULL; - int ret = -1; - #if defined __s390__ || defined __s390x_ /* On s390(x) system there is no PCI bus. * Therefore there is nothing to initialize here. */ @@ -1696,10 +1696,23 @@ static int nodeStateInitialize(bool privileged, char ebuf[256]; VIR_ERROR(_("Failed to initialize libpciaccess: %s"), virStrerror(pciret, ebuf, sizeof(ebuf))); - goto out; + return -1; } } #endif + return 0; +} + +static int nodeStateInitialize(bool privileged, + virStateInhibitCallback callback ATTRIBUTE_UNUSED, + void *opaque ATTRIBUTE_UNUSED) +{ + udevPrivate *priv = NULL; + struct udev *udev = NULL; + int ret = -1; + + if (udevPCITranslateInit(privileged) < 0) + goto out; if (VIR_ALLOC(priv) < 0) goto out;