summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorBenoît Canet <benoit.canet@nodalink.com>2015-06-25 19:32:34 +0200
committerIlya Dryomov <idryomov@gmail.com>2015-06-29 19:03:46 +0200
commitc2cfa19400979dc1a14bba75f83b451b0cd9507a (patch)
treebe54f525471187bb09e130bdd9290e87015ba785 /net
parentlibceph: Remove spurious kunmap() of the zero page (diff)
downloadlinux-c2cfa19400979dc1a14bba75f83b451b0cd9507a.tar.xz
linux-c2cfa19400979dc1a14bba75f83b451b0cd9507a.zip
libceph: Fix ceph_tcp_sendpage()'s more boolean usage
From struct ceph_msg_data_cursor in include/linux/ceph/messenger.h: bool last_piece; /* current is last piece */ In ceph_msg_data_next(): *last_piece = cursor->last_piece; A call to ceph_msg_data_next() is followed by: ret = ceph_tcp_sendpage(con->sock, page, page_offset, length, last_piece); while ceph_tcp_sendpage() is: static int ceph_tcp_sendpage(struct socket *sock, struct page *page, int offset, size_t size, bool more) The logic is inverted: correct it. Signed-off-by: Benoît Canet <benoit.canet@nodalink.com> Reviewed-by: Alex Elder <elder@linaro.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'net')
-rw-r--r--net/ceph/messenger.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 38f06a4c3c9e..1441aeff8bd7 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -1544,7 +1544,7 @@ static int write_partial_message_data(struct ceph_connection *con)
page = ceph_msg_data_next(&msg->cursor, &page_offset, &length,
&last_piece);
ret = ceph_tcp_sendpage(con->sock, page, page_offset,
- length, last_piece);
+ length, !last_piece);
if (ret <= 0) {
if (do_datacrc)
msg->footer.data_crc = cpu_to_le32(crc);