v2 was here:
https://lists.nongnu.org/archive/html/qemu-devel/2025-11/msg01243.html

Since then:
 - drop patch 7/12; refcounting for GSource case is now unchanged
 - add a couple of patches: fix a chardev leaky abstraction, and add a
   mutex lock for cross-thread safety
 - improve commit messages to document why NBD is safe now, even without
   adding notify callbacks to AioContext

Now that the new behavior is opt-in rather than a change of defaults,
and only NBD opts in, it should still be safe to include in 10.2.
But the technical debt here means that we really should consider
improving the AioContext API for 11.0 to allow for a notify function
similar to what GSource provides.

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/13:[----] [--] 'iotests: Drop execute permissions on vvfat.out'
002/13:[----] [--] 'qio: Add trace points to net_listener'
003/13:[----] [--] 'qio: Unwatch before notify in QIONetListener'
004/13:[----] [--] 'qio: Remember context of 
qio_net_listener_set_client_func_full'
005/13:[down] 'qio: Protect NetListener callback with mutex'
006/13:[----] [-C] 'qio: Minor optimization when callback function is unchanged'
007/13:[0042] [FC] 'qio: Factor out helpers qio_net_listener_[un]watch'
008/13:[down] 'chardev: Reuse channel's cached local address'
009/13:[0053] [FC] 'qio: Provide accessor around QIONetListener->sioc'
010/13:[0013] [FC] 'qio: Prepare NetListener to use AioContext'
011/13:[0041] [FC] 'qio: Add QIONetListener API for using AioContext'
012/13:[----] [--] 'nbd: Avoid deadlock in client connecting to same-process 
server'
013/13:[----] [--] 'iotests: Add coverage of recent NBD qio deadlock fix'

Eric Blake (13):
  iotests: Drop execute permissions on vvfat.out
  qio: Add trace points to net_listener
  qio: Unwatch before notify in QIONetListener
  qio: Remember context of qio_net_listener_set_client_func_full
  qio: Protect NetListener callback with mutex
  qio: Minor optimization when callback function is unchanged
  qio: Factor out helpers qio_net_listener_[un]watch
  chardev: Reuse channel's cached local address
  qio: Provide accessor around QIONetListener->sioc
  qio: Prepare NetListener to use AioContext
  qio: Add QIONetListener API for using AioContext
  nbd: Avoid deadlock in client connecting to same-process server
  iotests: Add coverage of recent NBD qio deadlock fix

 include/io/channel-socket.h                   |   2 +-
 include/io/net-listener.h                     |  71 ++++-
 blockdev-nbd.c                                |   4 +-
 chardev/char-socket.c                         |   2 +-
 io/net-listener.c                             | 300 +++++++++++++-----
 migration/socket.c                            |   4 +-
 ui/vnc.c                                      |  34 +-
 io/trace-events                               |   5 +
 tests/qemu-iotests/tests/nbd-in-qcow2-chain   |  94 ++++++
 .../qemu-iotests/tests/nbd-in-qcow2-chain.out |  75 +++++
 tests/qemu-iotests/tests/vvfat.out            |   0
 11 files changed, 498 insertions(+), 93 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/nbd-in-qcow2-chain
 create mode 100644 tests/qemu-iotests/tests/nbd-in-qcow2-chain.out
 mode change 100755 => 100644 tests/qemu-iotests/tests/vvfat.out

-- 
2.51.1


Reply via email to