Re: [PATCH v3 REBASE 2 00/12] hostdev: handle usb detach/attach on node

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

 



On Tue, Oct 29, 2019 at 11:17:51AM +0300, Nikolay Shirokovskiy wrote:
Diff to v2[1] version:
- add 'replug' attribute for hostdev element to allow replug semantics
- avoid accuiring domain lock in event loop thread on udev events as
 suggested by Peter
- nit picks after review by Daniel Henrique Barboza

* is used to mark patches that were 'Reviewed-by' by Daniel (sometimes
 with very minor changes to take into account new replug flag).

I did some basic testing today, and I'm seeing the device appear and disappear in the guest, which is great and much nicer than my ugly udev rule hack.  I did find what I think is a bug though: if the USB device is plugged in at domain start, unplugging it while the domain is running does not cause it to disappear, and subsqeuently replugging it into the host causes a second instance of the device to appear in the guest.

Can be applied on:

commit bf0e7bdeeb790bc6ba5732623be0d9ff26a5961a
Author: Peter Krempa <pkrempa@xxxxxxxxxx>
Date:   Thu Oct 24 15:50:50 2019 +0200

   util: xml: Make virXMLFormatElement void
[1] https://www.redhat.com/archives/libvir-list/2019-September/msg00321.html

Nikolay Shirokovskiy (12):
 conf: add replug option for usb hostdev
 qemu: track hostdev delete intention
 *qemu: support host usb device unplug
 *qemu: support usb hostdev plugging back
 qemu: handle host usb device add/del udev events
 *qemu: handle libvirtd restart after host usb device unplug
 *qemu: handle race on device deletion and usb host device plugging
 qemu: hotplug: update device list on device deleted event
 *qemu: handle host usb device plug/unplug when libvirtd is down
 *qemu: don't mess with non mandatory hostdevs on reattaching
 qemu: handle detaching of unplugged hostdev
 *conf: parse hostdev missing flag

docs/formatdomain.html.in                     |  10 +-
docs/schemas/domaincommon.rng                 |   5 +
src/conf/domain_conf.c                        |  62 +++
src/conf/domain_conf.h                        |  17 +
src/qemu/Makefile.inc.am                      |   2 +
src/qemu/qemu_conf.h                          |   3 +
src/qemu/qemu_domain.c                        |   2 +
src/qemu/qemu_domain.h                        |   2 +
src/qemu/qemu_driver.c                        | 404 +++++++++++++++++-
src/qemu/qemu_hotplug.c                       | 104 ++++-
src/qemu/qemu_hotplug.h                       |   3 +-
src/qemu/qemu_process.c                       |  60 +++
src/util/virhostdev.c                         |   2 +
tests/qemuhotplugtest.c                       |   2 +-
tests/qemuxml2argvdata/hostdev-usb-replug.xml |  36 ++
.../qemuxml2xmloutdata/hostdev-usb-replug.xml |  40 ++
tests/qemuxml2xmltest.c                       |   1 +
17 files changed, 733 insertions(+), 22 deletions(-)
create mode 100644 tests/qemuxml2argvdata/hostdev-usb-replug.xml
create mode 100644 tests/qemuxml2xmloutdata/hostdev-usb-replug.xml

--
2.23.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux