Hi all! The series aims to unify code which sets fds blocking/non-blocking through the whole source.
v3: 01-03: add r-b by Daniel 04-06: new 07: rebased onto 04-05, drop r-b 08: add r-b by Daniel 09: rework to use g_clear_pointer 10: add r-b by Daniel 11: avoid errp=NULL in updated code 12,13: new Series based on "[PATCH v4 0/2] save qemu-file incoming non-blocking fds" Based-on: <20250910193112.1220763-1-vsement...@yandex-team.ru> 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 util/error: add &error_reporter 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 block/nbd.c | 5 +- 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 | 35 ++++++------ chardev/char-stdio.c | 10 ++-- contrib/ivshmem-server/ivshmem-server.c | 7 ++- 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 | 5 +- 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/qapi/error.h | 6 ++ 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 | 4 +- 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/error.c | 3 + util/event_notifier-posix.c | 5 +- util/main-loop.c | 5 +- util/oslib-posix.c | 22 ++++---- util/oslib-win32.c | 25 ++++----- util/vhost-user-server.c | 9 ++- 62 files changed, 337 insertions(+), 214 deletions(-) -- 2.48.1