aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-11-20 04:05:34 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2014-11-24 05:16:42 -0500
commit0f7db23a07af5de22940f08c3f88a0741d4df0bc (patch)
treed3a2da3491d134b463bd75b20661e542f0660125
parent45dcc687f764f89e1e7c41dace52b105494e5dbb (diff)
vmci_transport: switch ->enqeue_dgram, ->enqueue_stream and ->dequeue_stream to msghdr
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--include/net/af_vsock.h6
-rw-r--r--net/vmw_vsock/af_vsock.c6
-rw-r--r--net/vmw_vsock/vmci_transport.c14
3 files changed, 13 insertions, 13 deletions
diff --git a/include/net/af_vsock.h b/include/net/af_vsock.h
index 428277869400..0d87674fb775 100644
--- a/include/net/af_vsock.h
+++ b/include/net/af_vsock.h
@@ -103,14 +103,14 @@ struct vsock_transport {
103 int (*dgram_dequeue)(struct kiocb *kiocb, struct vsock_sock *vsk, 103 int (*dgram_dequeue)(struct kiocb *kiocb, struct vsock_sock *vsk,
104 struct msghdr *msg, size_t len, int flags); 104 struct msghdr *msg, size_t len, int flags);
105 int (*dgram_enqueue)(struct vsock_sock *, struct sockaddr_vm *, 105 int (*dgram_enqueue)(struct vsock_sock *, struct sockaddr_vm *,
106 struct iovec *, size_t len); 106 struct msghdr *, size_t len);
107 bool (*dgram_allow)(u32 cid, u32 port); 107 bool (*dgram_allow)(u32 cid, u32 port);
108 108
109 /* STREAM. */ 109 /* STREAM. */
110 /* TODO: stream_bind() */ 110 /* TODO: stream_bind() */
111 ssize_t (*stream_dequeue)(struct vsock_sock *, struct iovec *, 111 ssize_t (*stream_dequeue)(struct vsock_sock *, struct msghdr *,
112 size_t len, int flags); 112 size_t len, int flags);
113 ssize_t (*stream_enqueue)(struct vsock_sock *, struct iovec *, 113 ssize_t (*stream_enqueue)(struct vsock_sock *, struct msghdr *,
114 size_t len); 114 size_t len);
115 s64 (*stream_has_data)(struct vsock_sock *); 115 s64 (*stream_has_data)(struct vsock_sock *);
116 s64 (*stream_has_space)(struct vsock_sock *); 116 s64 (*stream_has_space)(struct vsock_sock *);
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index 85d232bed87d..1d0e39c9a3e2 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -1013,7 +1013,7 @@ static int vsock_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
1013 goto out; 1013 goto out;
1014 } 1014 }
1015 1015
1016 err = transport->dgram_enqueue(vsk, remote_addr, msg->msg_iov, len); 1016 err = transport->dgram_enqueue(vsk, remote_addr, msg, len);
1017 1017
1018out: 1018out:
1019 release_sock(sk); 1019 release_sock(sk);
@@ -1617,7 +1617,7 @@ static int vsock_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
1617 */ 1617 */
1618 1618
1619 written = transport->stream_enqueue( 1619 written = transport->stream_enqueue(
1620 vsk, msg->msg_iov, 1620 vsk, msg,
1621 len - total_written); 1621 len - total_written);
1622 if (written < 0) { 1622 if (written < 0) {
1623 err = -ENOMEM; 1623 err = -ENOMEM;
@@ -1739,7 +1739,7 @@ vsock_stream_recvmsg(struct kiocb *kiocb,
1739 break; 1739 break;
1740 1740
1741 read = transport->stream_dequeue( 1741 read = transport->stream_dequeue(
1742 vsk, msg->msg_iov, 1742 vsk, msg,
1743 len - copied, flags); 1743 len - copied, flags);
1744 if (read < 0) { 1744 if (read < 0) {
1745 err = -ENOMEM; 1745 err = -ENOMEM;
diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c
index a57ddef7d5af..c1c038952973 100644
--- a/net/vmw_vsock/vmci_transport.c
+++ b/net/vmw_vsock/vmci_transport.c
@@ -1697,7 +1697,7 @@ static int vmci_transport_dgram_bind(struct vsock_sock *vsk,
1697static int vmci_transport_dgram_enqueue( 1697static int vmci_transport_dgram_enqueue(
1698 struct vsock_sock *vsk, 1698 struct vsock_sock *vsk,
1699 struct sockaddr_vm *remote_addr, 1699 struct sockaddr_vm *remote_addr,
1700 struct iovec *iov, 1700 struct msghdr *msg,
1701 size_t len) 1701 size_t len)
1702{ 1702{
1703 int err; 1703 int err;
@@ -1714,7 +1714,7 @@ static int vmci_transport_dgram_enqueue(
1714 if (!dg) 1714 if (!dg)
1715 return -ENOMEM; 1715 return -ENOMEM;
1716 1716
1717 memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), iov, len); 1717 memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
1718 1718
1719 dg->dst = vmci_make_handle(remote_addr->svm_cid, 1719 dg->dst = vmci_make_handle(remote_addr->svm_cid,
1720 remote_addr->svm_port); 1720 remote_addr->svm_port);
@@ -1835,22 +1835,22 @@ static int vmci_transport_connect(struct vsock_sock *vsk)
1835 1835
1836static ssize_t vmci_transport_stream_dequeue( 1836static ssize_t vmci_transport_stream_dequeue(
1837 struct vsock_sock *vsk, 1837 struct vsock_sock *vsk,
1838 struct iovec *iov, 1838 struct msghdr *msg,
1839 size_t len, 1839 size_t len,
1840 int flags) 1840 int flags)
1841{ 1841{
1842 if (flags & MSG_PEEK) 1842 if (flags & MSG_PEEK)
1843 return vmci_qpair_peekv(vmci_trans(vsk)->qpair, iov, len, 0); 1843 return vmci_qpair_peekv(vmci_trans(vsk)->qpair, msg->msg_iov, len, 0);
1844 else 1844 else
1845 return vmci_qpair_dequev(vmci_trans(vsk)->qpair, iov, len, 0); 1845 return vmci_qpair_dequev(vmci_trans(vsk)->qpair, msg->msg_iov, len, 0);
1846} 1846}
1847 1847
1848static ssize_t vmci_transport_stream_enqueue( 1848static ssize_t vmci_transport_stream_enqueue(
1849 struct vsock_sock *vsk, 1849 struct vsock_sock *vsk,
1850 struct iovec *iov, 1850 struct msghdr *msg,
1851 size_t len) 1851 size_t len)
1852{ 1852{
1853 return vmci_qpair_enquev(vmci_trans(vsk)->qpair, iov, len, 0); 1853 return vmci_qpair_enquev(vmci_trans(vsk)->qpair, msg->msg_iov, len, 0);
1854} 1854}
1855 1855
1856static s64 vmci_transport_stream_has_data(struct vsock_sock *vsk) 1856static s64 vmci_transport_stream_has_data(struct vsock_sock *vsk)