diff options
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r-- | fs/dlm/lowcomms.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index 7bcea7c5addb..6da6b14d5a61 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c | |||
@@ -519,6 +519,7 @@ static int receive_from_sock(void) | |||
519 | msg.msg_flags = 0; | 519 | msg.msg_flags = 0; |
520 | msg.msg_control = incmsg; | 520 | msg.msg_control = incmsg; |
521 | msg.msg_controllen = sizeof(incmsg); | 521 | msg.msg_controllen = sizeof(incmsg); |
522 | msg.msg_iovlen = 1; | ||
522 | 523 | ||
523 | /* I don't see why this circular buffer stuff is necessary for SCTP | 524 | /* I don't see why this circular buffer stuff is necessary for SCTP |
524 | * which is a packet-based protocol, but the whole thing breaks under | 525 | * which is a packet-based protocol, but the whole thing breaks under |
@@ -548,7 +549,7 @@ static int receive_from_sock(void) | |||
548 | } | 549 | } |
549 | len = iov[0].iov_len + iov[1].iov_len; | 550 | len = iov[0].iov_len + iov[1].iov_len; |
550 | 551 | ||
551 | r = ret = kernel_recvmsg(sctp_con.sock, &msg, iov, 1, len, | 552 | r = ret = kernel_recvmsg(sctp_con.sock, &msg, iov, msg.msg_iovlen, len, |
552 | MSG_NOSIGNAL | MSG_DONTWAIT); | 553 | MSG_NOSIGNAL | MSG_DONTWAIT); |
553 | if (ret <= 0) | 554 | if (ret <= 0) |
554 | goto out_close; | 555 | goto out_close; |