diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2014-02-08 21:07:38 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-01 23:19:32 -0400 |
| commit | f730c848affc05fb7262574b06e0cd7e1fa96096 (patch) | |
| tree | d92fa6f21ee3b316e85ca8e86d97819c92951def | |
| parent | 86d564c84c38b1ec06d9f2120d6a7373dcaeff0c (diff) | |
drbd: don't open-code kernel_recvmsg()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| -rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index d073305ffd5e..1385714eccb7 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
| @@ -468,24 +468,14 @@ static void drbd_wait_ee_list_empty(struct drbd_conf *mdev, | |||
| 468 | 468 | ||
| 469 | static int drbd_recv_short(struct socket *sock, void *buf, size_t size, int flags) | 469 | static int drbd_recv_short(struct socket *sock, void *buf, size_t size, int flags) |
| 470 | { | 470 | { |
| 471 | mm_segment_t oldfs; | ||
| 472 | struct kvec iov = { | 471 | struct kvec iov = { |
| 473 | .iov_base = buf, | 472 | .iov_base = buf, |
| 474 | .iov_len = size, | 473 | .iov_len = size, |
| 475 | }; | 474 | }; |
| 476 | struct msghdr msg = { | 475 | struct msghdr msg = { |
| 477 | .msg_iovlen = 1, | ||
| 478 | .msg_iov = (struct iovec *)&iov, | ||
| 479 | .msg_flags = (flags ? flags : MSG_WAITALL | MSG_NOSIGNAL) | 476 | .msg_flags = (flags ? flags : MSG_WAITALL | MSG_NOSIGNAL) |
| 480 | }; | 477 | }; |
| 481 | int rv; | 478 | return kernel_recvmsg(sock, &msg, &iov, 1, size, msg.msg_flags); |
| 482 | |||
| 483 | oldfs = get_fs(); | ||
| 484 | set_fs(KERNEL_DS); | ||
| 485 | rv = sock_recvmsg(sock, &msg, size, msg.msg_flags); | ||
| 486 | set_fs(oldfs); | ||
| 487 | |||
| 488 | return rv; | ||
| 489 | } | 479 | } |
| 490 | 480 | ||
| 491 | static int drbd_recv(struct drbd_tconn *tconn, void *buf, size_t size) | 481 | static int drbd_recv(struct drbd_tconn *tconn, void *buf, size_t size) |
