diff options
author | Alexander Viro <viro@www.linux.org.uk> | 2004-07-15 22:04:58 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-07-15 22:04:58 -0700 |
commit | 8af0afb24eaf9df5aa5a2ea720c3613431f04ad5 (patch) | |
tree | 0b50c775c70d0e65dcd9596b885aef6f08a55c32 /net | |
parent | 1a7d7787922f184804ef98e45c8606f8f16daf43 (diff) | |
download | history-8af0afb24eaf9df5aa5a2ea720c3613431f04ad5.tar.gz |
[PATCH] sparse: iovec cleanups - rxrpc
rxrpc (low-level part of afs) switched to kernel_...msg(); it already was
using kvec instead of iovec.
Diffstat (limited to 'net')
-rw-r--r-- | net/rxrpc/connection.c | 17 | ||||
-rw-r--r-- | net/rxrpc/transport.c | 20 |
2 files changed, 5 insertions, 32 deletions
diff --git a/net/rxrpc/connection.c b/net/rxrpc/connection.c index 11c703bc695631..929b82f48aeba9 100644 --- a/net/rxrpc/connection.c +++ b/net/rxrpc/connection.c @@ -620,7 +620,6 @@ int rxrpc_conn_sendmsg(struct rxrpc_connection *conn, struct rxrpc_message *msg) { struct msghdr msghdr; - mm_segment_t oldfs; int ret; _enter("%p{%d}", conn, ntohs(conn->addr.sin_port)); @@ -634,12 +633,6 @@ int rxrpc_conn_sendmsg(struct rxrpc_connection *conn, /* set up the message to be transmitted */ msghdr.msg_name = &conn->addr; msghdr.msg_namelen = sizeof(conn->addr); - /* - * the following is safe, since for compiler definitions of kvec and - * iovec are identical, yielding the same in-core layout and alignment - */ - msghdr.msg_iov = (struct iovec *)msg->data; - msghdr.msg_iovlen = msg->dcount; msghdr.msg_control = NULL; msghdr.msg_controllen = 0; msghdr.msg_flags = MSG_CONFIRM | MSG_DONTWAIT; @@ -651,15 +644,11 @@ int rxrpc_conn_sendmsg(struct rxrpc_connection *conn, htons(conn->addr.sin_port)); /* send the message */ - oldfs = get_fs(); - set_fs(KERNEL_DS); - ret = sock_sendmsg(conn->trans->socket, &msghdr, msg->dsize); - set_fs(oldfs); - + ret = kernel_sendmsg(conn->trans->socket, &msghdr, + msg->data, msg->dcount, msg->dsize); if (ret < 0) { msg->state = RXRPC_MSG_ERROR; - } - else { + } else { msg->state = RXRPC_MSG_SENT; ret = 0; diff --git a/net/rxrpc/transport.c b/net/rxrpc/transport.c index 92bcf9bf41452d..577001512db260 100644 --- a/net/rxrpc/transport.c +++ b/net/rxrpc/transport.c @@ -612,7 +612,6 @@ int rxrpc_trans_immediate_abort(struct rxrpc_transport *trans, struct sockaddr_in sin; struct msghdr msghdr; struct kvec iov[2]; - mm_segment_t oldfs; uint32_t _error; int len, ret; @@ -649,12 +648,6 @@ int rxrpc_trans_immediate_abort(struct rxrpc_transport *trans, msghdr.msg_name = &sin; msghdr.msg_namelen = sizeof(sin); - /* - * the following is safe, since for compiler definitions of kvec and - * iovec are identical, yielding the same in-core layout and alignment - */ - msghdr.msg_iov = (struct iovec *)iov; - msghdr.msg_iovlen = 2; msghdr.msg_control = NULL; msghdr.msg_controllen = 0; msghdr.msg_flags = MSG_DONTWAIT; @@ -666,10 +659,7 @@ int rxrpc_trans_immediate_abort(struct rxrpc_transport *trans, htons(sin.sin_port)); /* send the message */ - oldfs = get_fs(); - set_fs(KERNEL_DS); - ret = sock_sendmsg(trans->socket, &msghdr, len); - set_fs(oldfs); + ret = kernel_sendmsg(trans->socket, &msghdr, iov, 2, len); _leave(" = %d", ret); return ret; @@ -688,7 +678,6 @@ static void rxrpc_trans_receive_error_report(struct rxrpc_transport *trans) struct list_head connq, *_p; struct errormsg emsg; struct msghdr msg; - mm_segment_t oldfs; uint16_t port; int local, err; @@ -700,17 +689,12 @@ static void rxrpc_trans_receive_error_report(struct rxrpc_transport *trans) /* try and receive an error message */ msg.msg_name = &sin; msg.msg_namelen = sizeof(sin); - msg.msg_iov = NULL; - msg.msg_iovlen = 0; msg.msg_control = &emsg; msg.msg_controllen = sizeof(emsg); msg.msg_flags = 0; - oldfs = get_fs(); - set_fs(KERNEL_DS); - err = sock_recvmsg(trans->socket, &msg, 0, + err = kernel_recvmsg(trans->socket, &msg, NULL, 0, 0, MSG_ERRQUEUE | MSG_DONTWAIT | MSG_TRUNC); - set_fs(oldfs); if (err == -EAGAIN) { _leave(""); |