]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drbd: switch to sock_recvmsg()
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 21 Sep 2017 00:05:43 +0000 (20:05 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Dec 2017 01:38:06 +0000 (20:38 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_receiver.c

index 4b4697a1f96386831fc764276545c03ebf18d6eb..0a0394aa1b9cf1c523ada73dcc3363e23c7a0204 100644 (file)
@@ -1847,7 +1847,7 @@ int drbd_send(struct drbd_connection *connection, struct socket *sock,
              void *buf, size_t size, unsigned msg_flags)
 {
        struct kvec iov = {.iov_base = buf, .iov_len = size};
-       struct msghdr msg;
+       struct msghdr msg = {.msg_flags = msg_flags | MSG_NOSIGNAL};
        int rv, sent = 0;
 
        if (!sock)
@@ -1855,12 +1855,6 @@ int drbd_send(struct drbd_connection *connection, struct socket *sock,
 
        /* THINK  if (signal_pending) return ... ? */
 
-       msg.msg_name       = NULL;
-       msg.msg_namelen    = 0;
-       msg.msg_control    = NULL;
-       msg.msg_controllen = 0;
-       msg.msg_flags      = msg_flags | MSG_NOSIGNAL;
-
        iov_iter_kvec(&msg.msg_iter, WRITE | ITER_KVEC, &iov, 1, size);
 
        if (sock == connection->data.socket) {
index cb2fa63f6bc057e7038ef3ef7ae9b7c4a2a63711..c72dee0ef0837d7838282a0abf2eccfedf5868fa 100644 (file)
@@ -516,7 +516,8 @@ static int drbd_recv_short(struct socket *sock, void *buf, size_t size, int flag
        struct msghdr msg = {
                .msg_flags = (flags ? flags : MSG_WAITALL | MSG_NOSIGNAL)
        };
-       return kernel_recvmsg(sock, &msg, &iov, 1, size, msg.msg_flags);
+       iov_iter_kvec(&msg.msg_iter, READ | ITER_KVEC, &iov, 1, size);
+       return sock_recvmsg(sock, &msg, msg.msg_flags);
 }
 
 static int drbd_recv(struct drbd_connection *connection, void *buf, size_t size)