xen/pvcalls: implement recvmsg
authorStefano Stabellini <sstabellini@kernel.org>
Mon, 30 Oct 2017 22:41:00 +0000 (15:41 -0700)
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>
Tue, 31 Oct 2017 13:05:53 +0000 (09:05 -0400)
commitae0d04052e077ccb71772bf5c7cb1049f4d587d2
tree899cad4c8057bb02218757c7f87a76ee41696c39
parent45ddce214a797de65c0418bebf90c1b564c3ee3d
xen/pvcalls: implement recvmsg

Implement recvmsg by copying data from the "in" ring. If not enough data
is available and the recvmsg call is blocking, then wait on the
inflight_conn_req waitqueue. Take the active socket in_mutex so that
only one function can access the ring at any given time.

Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
drivers/xen/pvcalls-front.c
drivers/xen/pvcalls-front.h