diff options
author | Benoît Canet <benoit.canet@nodalink.com> | 2015-06-25 17:32:34 (GMT) |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2015-06-29 17:03:46 (GMT) |
commit | c2cfa19400979dc1a14bba75f83b451b0cd9507a (patch) | |
tree | be54f525471187bb09e130bdd9290e87015ba785 /net/ceph | |
parent | 6ba8edc0bcbdf337293e60123ddac8fc1c895a3c (diff) | |
download | linux-c2cfa19400979dc1a14bba75f83b451b0cd9507a.tar.xz |
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/ceph')
-rw-r--r-- | net/ceph/messenger.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index 38f06a4..1441aef 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); |