[libvirt] [PATCH v2] Fix disability to run on systems with no PCI bus
Daniel P. Berrange
berrange at redhat.com
Tue May 3 11:02:54 UTC 2011
On Fri, Apr 22, 2011 at 02:24:54PM +0200, Michal Privoznik wrote:
> The patch which moved libpciaccess initialization to one place caused
> regression - we were not able to run on system with no PCI bus, like
> s390(x).
> ---
> src/node_device/node_device_udev.c | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
> index 2139ef3..fcff252 100644
> --- a/src/node_device/node_device_udev.c
> +++ b/src/node_device/node_device_udev.c
> @@ -1421,8 +1421,12 @@ static int udevDeviceMonitorShutdown(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
>
> return ret;
> }
> @@ -1595,6 +1599,10 @@ static int udevDeviceMonitorStartup(int privileged)
> int ret = 0;
> int pciret;
>
> +#if defined __s390__ || defined __s390x_
This needs to be one loine further up, so that 'int pciret;' is
within the conditional. Otherwise you'll get a compiler warning
about an unused variable
> + /* On x390(x) system there is no PCI bus.
> + * Therefore there is nothing to initialize here. */
> +#else
> if ((pciret = pci_system_init()) != 0) {
> /* Ignore failure as non-root; udev is not as helpful in that
> * situation, but a non-privileged user won't benefit much
> @@ -1607,6 +1615,7 @@ static int udevDeviceMonitorStartup(int privileged)
> goto out;
> }
> }
> +#endif
>
> if (VIR_ALLOC(priv) < 0) {
> virReportOOMError();
ACK if you fix the issue above & the typo Diego pointed out.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list