Change vsock's lingerning to wait on close() until all data is sent, i.e. until workers picked all the packets for processing.
Changes in v4: - While in virtio, stick to virtio_transport_unsent_bytes() [Stefano] - Squash the indentation reduction [Stefano] - Pull SOCK_LINGER check into vsock_linger() [Stefano] - Don't explicitly pass sk->sk_lingertime [Stefano] - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Set "vsock/virtio" topic where appropriate - Do not claim that Hyper-V and VMCI ever lingered [Stefano] - Move lingering to af_vsock core [Stefano] - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Comment that some transports do not implement unsent_bytes [Stefano] - Reduce the indentation of virtio_transport_wait_close() [Stefano] - Do not linger on shutdown(), expand the commit messages [Paolo] - Link to v1: https://lore.kernel.org/r/[email protected] Changes in v1: - Do not assume `unsent_bytes()` is implemented by all transports [Stefano] - Link to v0: https://lore.kernel.org/netdev/[email protected]/ Signed-off-by: Michal Luczaj <[email protected]> --- Michal Luczaj (3): vsock/virtio: Linger on unsent data vsock: Move lingering logic to af_vsock core vsock/test: Expand linger test to ensure close() does not misbehave include/net/af_vsock.h | 1 + net/vmw_vsock/af_vsock.c | 30 ++++++++++++++++++++++++++++++ net/vmw_vsock/virtio_transport_common.c | 21 ++------------------- tools/testing/vsock/vsock_test.c | 30 +++++++++++++++++++++++++++--- 4 files changed, 60 insertions(+), 22 deletions(-) --- base-commit: deeed351e982ac4d521598375b34b071304533b0 change-id: 20250304-vsock-linger-9026e5f9986c Best regards, -- Michal Luczaj <[email protected]>

