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
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list