]> git.baikalelectronics.ru Git - kernel.git/commit
virtio/vsock: dequeue callback for SOCK_SEQPACKET
authorArseny Krasnov <arseny.krasnov@kaspersky.com>
Fri, 11 Jun 2021 11:12:38 +0000 (14:12 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Jun 2021 20:32:47 +0000 (13:32 -0700)
commit0cf47b27a7503df458e7af6ea6a162d34a15ce42
tree921d8fb048422460188e43819bc50909931462b5
parent8a40771d99c1b63beba9ce542fbaea1e9fbd23bb
virtio/vsock: dequeue callback for SOCK_SEQPACKET

Callback fetches RW packets from rx queue of socket until whole record
is copied(if user's buffer is full, user is not woken up). This is done
to not stall sender, because if we wake up user and it leaves syscall,
nobody will send credit update for rest of record, and sender will wait
for next enter of read syscall at receiver's side. So if user buffer is
full, we just send credit update and drop data.

Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/virtio_vsock.h
net/vmw_vsock/virtio_transport_common.c