]> git.hungrycats.org Git - linux/commitdiff
[PATCH] sparse: iovec cleanups - rxrpc
authorAlexander Viro <viro@www.linux.org.uk>
Fri, 16 Jul 2004 05:04:58 +0000 (22:04 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 16 Jul 2004 05:04:58 +0000 (22:04 -0700)
rxrpc (low-level part of afs) switched to kernel_...msg(); it already was
using kvec instead of iovec.

net/rxrpc/connection.c
net/rxrpc/transport.c

index 11c703bc695631c2ac6b9415d1e62b4da37d04a1..929b82f48aeba9a91b5baf6e12354109de4235bf 100644 (file)
@@ -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;
 
index 92bcf9bf41452d229c487b6e4d9a465e55db65d1..577001512db260bc7f317bb42f275c3bdb03ec4f 100644 (file)
@@ -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("");