[libvirt] [PATCH] Don't treat pci_system_init failure as fatal if no PCI bus is present
Eric Blake
eblake at redhat.com
Thu Sep 8 10:46:59 UTC 2011
On 09/06/2011 06:55 AM, Daniel Veillard wrote:
> 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,
Pushed.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list