mirror of https://gitee.com/openkylin/linux.git
drbd: don't open-code kernel_recvmsg()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
86d564c84c
commit
f730c848af
|
@ -468,24 +468,14 @@ static void drbd_wait_ee_list_empty(struct drbd_conf *mdev,
|
|||
|
||||
static int drbd_recv_short(struct socket *sock, void *buf, size_t size, int flags)
|
||||
{
|
||||
mm_segment_t oldfs;
|
||||
struct kvec iov = {
|
||||
.iov_base = buf,
|
||||
.iov_len = size,
|
||||
};
|
||||
struct msghdr msg = {
|
||||
.msg_iovlen = 1,
|
||||
.msg_iov = (struct iovec *)&iov,
|
||||
.msg_flags = (flags ? flags : MSG_WAITALL | MSG_NOSIGNAL)
|
||||
};
|
||||
int rv;
|
||||
|
||||
oldfs = get_fs();
|
||||
set_fs(KERNEL_DS);
|
||||
rv = sock_recvmsg(sock, &msg, size, msg.msg_flags);
|
||||
set_fs(oldfs);
|
||||
|
||||
return rv;
|
||||
return kernel_recvmsg(sock, &msg, &iov, 1, size, msg.msg_flags);
|
||||
}
|
||||
|
||||
static int drbd_recv(struct drbd_tconn *tconn, void *buf, size_t size)
|
||||
|
|
Loading…
Reference in New Issue