qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/13] io: deal with blocking/non-blocking fds
@ 2025-09-16 13:13 Vladimir Sementsov-Ogievskiy
  2025-09-16 13:13 ` [PATCH v5 01/13] char-socket: tcp_chr_recv(): drop extra _set_(block, cloexec) Vladimir Sementsov-Ogievskiy
                   ` (13 more replies)
  0 siblings, 14 replies; 27+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2025-09-16 13:13 UTC (permalink / raw)
  To: berrange
  Cc: qemu-devel, peterx, qemu-block, vsementsov, leiyang,
	marcandre.lureau

Hi all!

The series aims to unify code which sets fds blocking/non-blocking
through the whole source.

v5:
04: add r-b by Daniel
06: add TODOs in vhost-user-server.c
13: new optional patch, to solve one of new TODOs

Vladimir Sementsov-Ogievskiy (13):
  char-socket: tcp_chr_recv(): drop extra _set_(block,cloexec)
  char-socket: tcp_chr_recv(): add comment
  util: add qemu_set_blocking() function
  handle result of qio_channel_set_blocking()
  migration: qemu_file_set_blocking(): add errp parameter
  util: drop qemu_socket_set_nonblock()
  util: drop qemu_socket_try_set_nonblock()
  io/channel-socket: rework qio_channel_socket_copy_fds()
  util: drop qemu_socket_set_block()
  use qemu_set_blocking instead of g_unix_set_fd_nonblocking
  chardev: qemu_chr_open_fd(): add errp
  chardev: close an fd on failure path
  util/vhost-user-server: vu_message_read(): improve error handling

 block/nbd.c                             |  4 +-
 chardev/char-fd.c                       | 14 +++--
 chardev/char-file.c                     |  6 +-
 chardev/char-pipe.c                     |  9 ++-
 chardev/char-pty.c                      |  4 +-
 chardev/char-serial.c                   |  9 ++-
 chardev/char-socket.c                   | 41 +++++++-------
 chardev/char-stdio.c                    | 10 ++--
 contrib/ivshmem-server/ivshmem-server.c |  9 ++-
 hw/hyperv/syndbg.c                      |  4 +-
 hw/input/virtio-input-host.c            |  3 +-
 hw/misc/ivshmem-flat.c                  |  3 +-
 hw/misc/ivshmem-pci.c                   |  7 ++-
 hw/remote/proxy.c                       |  6 +-
 hw/remote/remote-obj.c                  |  6 +-
 hw/vfio-user/proxy.c                    | 11 +++-
 hw/virtio/vhost-user.c                  |  5 +-
 hw/virtio/vhost-vsock.c                 |  8 +--
 include/chardev/char-fd.h               |  2 +-
 include/io/channel.h                    | 14 ++---
 include/qemu/osdep.h                    |  1 +
 include/qemu/sockets.h                  |  3 -
 io/channel-command.c                    |  9 ++-
 io/channel-file.c                       |  3 +-
 io/channel-socket.c                     | 74 ++++++++++++++++++-------
 io/channel.c                            |  4 +-
 migration/colo.c                        |  5 +-
 migration/migration.c                   |  8 ++-
 migration/postcopy-ram.c                |  2 +-
 migration/qemu-file.c                   |  4 +-
 migration/qemu-file.h                   |  2 +-
 migration/savevm.c                      |  4 +-
 nbd/server.c                            |  4 +-
 net/dgram.c                             | 28 ++++++----
 net/l2tpv3.c                            |  5 +-
 net/socket.c                            | 27 ++++++---
 net/stream.c                            |  9 +--
 net/stream_data.c                       | 10 ++--
 net/tap-bsd.c                           | 12 +++-
 net/tap-linux.c                         |  7 ++-
 net/tap-solaris.c                       |  7 ++-
 net/tap.c                               | 21 ++-----
 qga/channel-posix.c                     |  7 ++-
 qga/commands-posix.c                    |  3 +-
 scsi/qemu-pr-helper.c                   |  9 ++-
 tests/qtest/fuzz/virtio_net_fuzz.c      |  2 +-
 tests/qtest/vhost-user-test.c           |  3 +-
 tests/unit/io-channel-helpers.c         |  5 +-
 tests/unit/socket-helpers.c             |  4 +-
 tests/unit/test-crypto-tlssession.c     |  8 +--
 tests/unit/test-io-channel-tls.c        |  4 +-
 tests/unit/test-iov.c                   |  5 +-
 tools/i386/qemu-vmsr-helper.c           |  6 +-
 ui/input-linux.c                        |  3 +-
 ui/vnc.c                                |  2 +-
 util/event_notifier-posix.c             |  7 ++-
 util/main-loop.c                        |  5 +-
 util/oslib-posix.c                      | 22 ++++----
 util/oslib-win32.c                      | 25 ++++-----
 util/vhost-user-server.c                | 26 ++++++---
 60 files changed, 352 insertions(+), 218 deletions(-)

-- 
2.48.1



^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2025-09-19 10:45 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-16 13:13 [PATCH v5 00/13] io: deal with blocking/non-blocking fds Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 01/13] char-socket: tcp_chr_recv(): drop extra _set_(block, cloexec) Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 02/13] char-socket: tcp_chr_recv(): add comment Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 03/13] util: add qemu_set_blocking() function Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 04/13] handle result of qio_channel_set_blocking() Vladimir Sementsov-Ogievskiy
2025-09-16 13:57   ` Peter Xu
2025-09-16 14:18     ` Vladimir Sementsov-Ogievskiy
2025-09-19 10:22   ` Daniel P. Berrangé
2025-09-16 13:13 ` [PATCH v5 05/13] migration: qemu_file_set_blocking(): add errp parameter Vladimir Sementsov-Ogievskiy
2025-09-16 14:02   ` Peter Xu
2025-09-16 15:38   ` Daniel P. Berrangé
2025-09-16 15:43   ` Daniel P. Berrangé
2025-09-16 13:13 ` [PATCH v5 06/13] util: drop qemu_socket_set_nonblock() Vladimir Sementsov-Ogievskiy
2025-09-16 15:47   ` Daniel P. Berrangé
2025-09-16 13:13 ` [PATCH v5 07/13] util: drop qemu_socket_try_set_nonblock() Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 08/13] io/channel-socket: rework qio_channel_socket_copy_fds() Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 09/13] util: drop qemu_socket_set_block() Vladimir Sementsov-Ogievskiy
2025-09-16 13:13 ` [PATCH v5 10/13] use qemu_set_blocking instead of g_unix_set_fd_nonblocking Vladimir Sementsov-Ogievskiy
2025-09-19 10:24   ` Daniel P. Berrangé
2025-09-16 13:14 ` [PATCH v5 11/13] chardev: qemu_chr_open_fd(): add errp Vladimir Sementsov-Ogievskiy
2025-09-16 13:14 ` [PATCH v5 12/13] chardev: close an fd on failure path Vladimir Sementsov-Ogievskiy
2025-09-16 13:14 ` [PATCH v5 13/13] util/vhost-user-server: vu_message_read(): improve error handling Vladimir Sementsov-Ogievskiy
2025-09-16 15:50   ` Daniel P. Berrangé
2025-09-17 10:13     ` Vladimir Sementsov-Ogievskiy
2025-09-19 10:27       ` Daniel P. Berrangé
2025-09-19 10:44         ` Vladimir Sementsov-Ogievskiy
2025-09-16 13:15 ` [PATCH v5 00/13] io: deal with blocking/non-blocking fds Vladimir Sementsov-Ogievskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).