Skip to content

qio: general non-default GMainContext support

Peter Xu qemu-devel 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest6 patches 2 repliesIn review
  2. v215 patches 46 repliesApplied
  3. v114 patches 26 repliesSuperseded

Changes in v3 from the cover letter

- add r-bs
- move the migration patch out of the series [Dan]
- in comments, mention "%NULL" case for contexts [Paolo]
- do similar thing to listen_async and dgram_async to allow context parameter [Dan]
- cache TCPChardevTelnetInit properly in telnet patch, and fixes around that new change in the patch [Paolo]
- drop patch 5 [Dan]
- drop the helper tcp_chr_net_listener_setup() [Dan]

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6qio: rename qio_task_thread_resultio/task.c+2 -20 replies
2/6qio: introduce qio_channel_add_watch_{full|source}include/io/channel.h io/channel.c+78 -60 replies
3/6qio: store gsources for net listenersinclude/io/net-listener.h io/net-listener.c+56 -240 replies
4/6qio: non-default context for threaded qtaskinclude/io/task.h io/channel-socket.c io/dns-resolver.c +2 more+33 -80 replies
5/6qio: non-default context for async connchardev/char-socket.c include/io/channel-socket.h io/channel-socket.c +2 more+27 -140 replies
6/6qio: non-default context for TLS handshakechardev/char-socket.c include/io/channel-tls.h io/channel-tls.c +6 more+47 -120 replies

Reviews trailers per patch

2 of 6 patches have a Reviewed-by or Acked-by.

PatchDaniel P. Berrange
1/6R-b
2/6
3/6
4/6R-b
5/6
6/6

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH v3 0/6] qio: general non-default GMainContext support

V1: http://lists.nongnu.org/archive/html/qemu-devel/2018-02/msg06972.html
V2: http://lists.gnu.org/archive/html/qemu-devel/2018-03/msg00016.html

Quoted 1 line

From this version, I'll split the old series into two: one QIO series

and one CHARDEV series. This is the QIO part.

Hopefully I have addressed every comments in v2. Please shoot if I missed any of them. Thanks,

v3:
- add r-bs
- move the migration patch out of the series [Dan]
- in comments, mention "%NULL" case for contexts [Paolo]
- do similar thing to listen_async and dgram_async to allow context parameter [Dan]
- cache TCPChardevTelnetInit properly in telnet patch, and fixes around that new change in the patch [Paolo]
- drop patch 5 [Dan]
- drop the helper tcp_chr_net_listener_setup() [Dan]

v2:
- collect r-bs
- qio_channel_add_watch_full() should still return the same thing as the old one, and introduced qio_channel_add_watch_full() to return a GSource pointer. [Dan]
- Fix commit message on RDMA. It's using QIO, but still, I am not touching it. [Dan]
- use qio_net_listener_set_client_func_full() directly, and avoid introducing new API. [Dan]

Please review. Thanks.

Peter Xu (6):
qio: rename qio_task_thread_result
qio: introduce qio_channel_add_watch_{full|source}
qio: store gsources for net listeners
qio: non-default context for threaded qtask
qio: non-default context for async conn
qio: non-default context for TLS handshake

 chardev/char-socket.c          |  5 ++--
 include/io/channel-socket.h    | 15 ++++++++---
 include/io/channel-tls.h       |  5 +++-
 include/io/channel.h           | 44 ++++++++++++++++++++++++++++++++
 include/io/net-listener.h      | 22 ++++++++++++++--
 include/io/task.h              |  7 +++--
 io/channel-socket.c            | 18 ++++++++-----
 io/channel-tls.c               | 45 ++++++++++++++++++++++++--------
 io/channel.c                   | 40 ++++++++++++++++++++++++-----
 io/dns-resolver.c              |  3 ++-
 io/net-listener.c              | 58 ++++++++++++++++++++++++++----------------
 io/task.c                      | 22 +++++++++++++---
 migration/socket.c             |  3 ++-
 migration/tls.c                |  2 ++
 nbd/client.c                   |  1 +
 nbd/server.c                   |  1 +
 tests/test-io-channel-socket.c |  4 +--
 tests/test-io-channel-tls.c    |  2 ++
 tests/test-io-task.c           |  2 ++
 ui/vnc-auth-vencrypt.c         |  1 +
 ui/vnc-ws.c                    |  1 +
 21 files changed, 239 insertions(+), 62 deletions(-)
Signature · 1 line
2.14.3