[libvirt] [PATCH] Don't treat pci_system_init failure as fatal if no PCI bus is present

Daniel Veillard veillard at redhat.com
Tue Sep 6 05:55:42 UTC 2011


On Mon, Sep 05, 2011 at 09:29:06PM +0200, Soren Hansen wrote:
> Xen PV domU's have no PCI bus. node_device_udev.c calls pci_system_init
> which looks for /sys/bus/pci. If it does not find /sys/bus/pci (which it
> won't in a Xen PV domU) it returns unsuccesfully (ENOENT), which libvirt
> considers fatal. This makes libvirt unusable in this environment, even
> though there are plenty of valid virtualisation options that work
> there (LXC, UML, and QEmu spring to mind)
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=709471
> 
> Signed-off-by: Soren Hansen <soren at linux2go.dk>
> ---
>  src/node_device/node_device_udev.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
> index badf241..08ef856 100644
> --- a/src/node_device/node_device_udev.c
> +++ b/src/node_device/node_device_udev.c
> @@ -1620,7 +1620,7 @@ static int udevDeviceMonitorStartup(int privileged)
>          /* Ignore failure as non-root; udev is not as helpful in that
>           * situation, but a non-privileged user won't benefit much
>           * from udev in the first place.  */
> -        if (privileged || errno != EACCES) {
> +        if (errno != ENOENT && (privileged  || errno != EACCES)) {
>              char ebuf[256];
>              VIR_ERROR(_("Failed to initialize libpciaccess: %s"),
>                        virStrerror(pciret, ebuf, sizeof ebuf));

  ACK,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list