mbox series

[v2,0/9] libxl: New slow lock + fix libxl_cdrom_insert with QEMU depriv

Message ID 20190614103801.22619-1-anthony.perard@citrix.com (mailing list archive)
Headers show
Series libxl: New slow lock + fix libxl_cdrom_insert with QEMU depriv | expand

Message

Anthony PERARD June 14, 2019, 10:37 a.m. UTC
Hi,

Changes in v2:
- New libxl__ev_lock, which actually respect lock hierarchy (it's outside of
  CTX_LOCK).
- some smaller changes detailed in patch notes.

This patch series fix libxl_cdrom_insert to work with a depriviledge QEMU. For
that, we need to use libxl__ev_qmp.  For that, we need a new lock because
userdata_lock can't be used anymore.

FYI: I don't think that enough yet to migrate a depriviledged QEMU. We may need
to open disks/cdrom in libxl before starting QEMU, similar to what this patch
series do when inserting a new cdrom.

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.libxl-slow-lock-v2

Anthony PERARD (9):
  libxl_internal: Remove lost comment
  libxl: Pointer on usage of libxl__domain_userdata_lock
  libxl_internal: Introduce libxl__ev_lock for devices hotplug via QMP
  libxl: Add optimisation to ev_lock
  libxl_disk: Reorganise libxl_cdrom_insert
  libxl_disk: Cut libxl_cdrom_insert into steps ..
  libxl_disk: Implement missing timeout for libxl_cdrom_insert
  libxl: Move qmp_parameters_* prototypes to libxl_internal.h
  libxl_disk: Use ev_qmp in libxl_cdrom_insert

 tools/libxl/Makefile         |   3 +
 tools/libxl/libxl_disk.c     | 341 ++++++++++++++++++++++++++++-------
 tools/libxl/libxl_internal.c | 193 ++++++++++++++++++++
 tools/libxl/libxl_internal.h | 105 +++++++++--
 tools/libxl/libxl_qmp.c      |  89 ++++-----
 5 files changed, 601 insertions(+), 130 deletions(-)

Comments

Ian Jackson Sept. 17, 2019, 4:22 p.m. UTC | #1
Anthony PERARD writes ("[PATCH v2 0/9] libxl: New slow lock + fix libxl_cdrom_insert with QEMU depriv"):
> This patch series fix libxl_cdrom_insert to work with a depriviledge QEMU. For
> that, we need to use libxl__ev_qmp.  For that, we need a new lock because
> userdata_lock can't be used anymore.

Thanks for this and sorry for blocking you for so long!

I think this is basically ready to go.  I had some trivial comments on
3/.  After we've had a conversation about that, I guess you might
want to repost just that one patch rather than all 9.  Up to you.

Regards,
Ian.