Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
Philipp Reisner 2012-09-03 14:04:23 +02:00
Родитель 70f17b6bd1
Коммит 1393b59f8c
1 изменённых файлов: 1 добавлений и 14 удалений

Просмотреть файл

@ -490,22 +490,9 @@ static int drbd_recv_short(struct socket *sock, void *buf, size_t size, int flag
static int drbd_recv(struct drbd_tconn *tconn, void *buf, size_t size)
{
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 = MSG_WAITALL | MSG_NOSIGNAL
};
int rv;
oldfs = get_fs();
set_fs(KERNEL_DS);
rv = sock_recvmsg(tconn->data.socket, &msg, size, msg.msg_flags);
set_fs(oldfs);
rv = drbd_recv_short(tconn->data.socket, buf, size, 0);
if (rv < 0) {
if (rv == -ECONNRESET)