[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] pci: autolearn name of stub driver, remove from arglist

On 05/01/2013 12:54 PM, Laine Stump wrote:
> virPCIDeviceReattach and virPCIDeviceUnbindFromStub (called by
> virPCIDeviceReattach) had previously required the name of the stub
> driver as input. This is unnecessary, because the name of the driver
> the device is currently bound to can be found by looking at the link:
>   /sys/bus/pci/dddd:bb:ss.ff/driver
> Instead of requiring that the name of the expected stub driver name
> and only unbinding if that one name is matched, we no longer take a
> driver name in the arglist for either of these
> functions. virPCIDeviceUnbindFromStub just compares the name of the
> currently bound driver to a list of "well known" stubs (right now
> contains "pci-stub" and "vfio-pci" for qemu, and "pciback" for xen),
> and only performs the unbind if it's one of those devices.
> This allows virsh nodedevice-reattach to work properly across a
> libvirtd restart, and fixes a couple of cases where we were
> erroneously still hard-coding "pci-stub" as the drive name.

Which makes this a bug fix, worth having in 1.0.5 if you see this in time.

> For some unknown reason, virPCIDeviceReattach had been calling
> modprobe on the stub driver prior to unbinding the device. This was
> problematic because we no longer know the name of the stub driver in
> that function. However, it is pointless to probe for the stub driver
> at that time anyway - because the device is bound to the stub driver,
> we are guaranteed that it is already loaded, and so that call to
> modprobe has been removed.
> ---
>  src/qemu/qemu_driver.c  |  2 +-
>  src/qemu/qemu_hostdev.c |  4 +--
>  src/util/virpci.c       | 66 ++++++++++++++++++++++++++++++++++---------------
>  src/util/virpci.h       |  3 +--
>  src/xen/xen_driver.c    |  2 +-
>  5 files changed, 51 insertions(+), 26 deletions(-)

ACK with your squashed in memleak fix.

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]