diff options
Diffstat (limited to 'net/ceph')
-rw-r--r-- | net/ceph/messenger.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index 44d8c77cabdd..204e229e6628 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c | |||
@@ -595,7 +595,7 @@ static void prepare_write_message(struct ceph_connection *con) | |||
595 | else | 595 | else |
596 | con->out_msg_pos.page_pos = 0; | 596 | con->out_msg_pos.page_pos = 0; |
597 | con->out_msg_pos.data_pos = 0; | 597 | con->out_msg_pos.data_pos = 0; |
598 | con->out_msg_pos.did_page_crc = 0; | 598 | con->out_msg_pos.did_page_crc = false; |
599 | con->out_more = 1; /* data + footer will follow */ | 599 | con->out_more = 1; /* data + footer will follow */ |
600 | } else { | 600 | } else { |
601 | /* no, queue up footer too and be done */ | 601 | /* no, queue up footer too and be done */ |
@@ -805,7 +805,7 @@ static int write_partial_msg_pages(struct ceph_connection *con) | |||
805 | struct ceph_msg *msg = con->out_msg; | 805 | struct ceph_msg *msg = con->out_msg; |
806 | unsigned data_len = le32_to_cpu(msg->hdr.data_len); | 806 | unsigned data_len = le32_to_cpu(msg->hdr.data_len); |
807 | size_t len; | 807 | size_t len; |
808 | int crc = con->msgr->nocrc; | 808 | bool do_crc = con->msgr->nocrc; |
809 | int ret; | 809 | int ret; |
810 | int total_max_write; | 810 | int total_max_write; |
811 | int in_trail = 0; | 811 | int in_trail = 0; |
@@ -843,17 +843,17 @@ static int write_partial_msg_pages(struct ceph_connection *con) | |||
843 | 843 | ||
844 | page = list_first_entry(&msg->trail->head, | 844 | page = list_first_entry(&msg->trail->head, |
845 | struct page, lru); | 845 | struct page, lru); |
846 | if (crc) | 846 | if (do_crc) |
847 | kaddr = kmap(page); | 847 | kaddr = kmap(page); |
848 | max_write = PAGE_SIZE; | 848 | max_write = PAGE_SIZE; |
849 | } else if (msg->pages) { | 849 | } else if (msg->pages) { |
850 | page = msg->pages[con->out_msg_pos.page]; | 850 | page = msg->pages[con->out_msg_pos.page]; |
851 | if (crc) | 851 | if (do_crc) |
852 | kaddr = kmap(page); | 852 | kaddr = kmap(page); |
853 | } else if (msg->pagelist) { | 853 | } else if (msg->pagelist) { |
854 | page = list_first_entry(&msg->pagelist->head, | 854 | page = list_first_entry(&msg->pagelist->head, |
855 | struct page, lru); | 855 | struct page, lru); |
856 | if (crc) | 856 | if (do_crc) |
857 | kaddr = kmap(page); | 857 | kaddr = kmap(page); |
858 | #ifdef CONFIG_BLOCK | 858 | #ifdef CONFIG_BLOCK |
859 | } else if (msg->bio) { | 859 | } else if (msg->bio) { |
@@ -862,26 +862,26 @@ static int write_partial_msg_pages(struct ceph_connection *con) | |||
862 | bv = bio_iovec_idx(msg->bio_iter, msg->bio_seg); | 862 | bv = bio_iovec_idx(msg->bio_iter, msg->bio_seg); |
863 | page = bv->bv_page; | 863 | page = bv->bv_page; |
864 | page_shift = bv->bv_offset; | 864 | page_shift = bv->bv_offset; |
865 | if (crc) | 865 | if (do_crc) |
866 | kaddr = kmap(page) + page_shift; | 866 | kaddr = kmap(page) + page_shift; |
867 | max_write = bv->bv_len; | 867 | max_write = bv->bv_len; |
868 | #endif | 868 | #endif |
869 | } else { | 869 | } else { |
870 | page = zero_page; | 870 | page = zero_page; |
871 | if (crc) | 871 | if (do_crc) |
872 | kaddr = zero_page_address; | 872 | kaddr = zero_page_address; |
873 | } | 873 | } |
874 | len = min_t(int, max_write - con->out_msg_pos.page_pos, | 874 | len = min_t(int, max_write - con->out_msg_pos.page_pos, |
875 | total_max_write); | 875 | total_max_write); |
876 | 876 | ||
877 | if (crc && !con->out_msg_pos.did_page_crc) { | 877 | if (do_crc && !con->out_msg_pos.did_page_crc) { |
878 | void *base = kaddr + con->out_msg_pos.page_pos; | 878 | void *base = kaddr + con->out_msg_pos.page_pos; |
879 | u32 tmpcrc = le32_to_cpu(con->out_msg->footer.data_crc); | 879 | u32 tmpcrc = le32_to_cpu(con->out_msg->footer.data_crc); |
880 | 880 | ||
881 | BUG_ON(kaddr == NULL); | 881 | BUG_ON(kaddr == NULL); |
882 | con->out_msg->footer.data_crc = | 882 | con->out_msg->footer.data_crc = |
883 | cpu_to_le32(crc32c(tmpcrc, base, len)); | 883 | cpu_to_le32(crc32c(tmpcrc, base, len)); |
884 | con->out_msg_pos.did_page_crc = 1; | 884 | con->out_msg_pos.did_page_crc = true; |
885 | } | 885 | } |
886 | ret = kernel_sendpage(con->sock, page, | 886 | ret = kernel_sendpage(con->sock, page, |
887 | con->out_msg_pos.page_pos + page_shift, | 887 | con->out_msg_pos.page_pos + page_shift, |
@@ -889,7 +889,7 @@ static int write_partial_msg_pages(struct ceph_connection *con) | |||
889 | MSG_DONTWAIT | MSG_NOSIGNAL | | 889 | MSG_DONTWAIT | MSG_NOSIGNAL | |
890 | MSG_MORE); | 890 | MSG_MORE); |
891 | 891 | ||
892 | if (crc && | 892 | if (do_crc && |
893 | (msg->pages || msg->pagelist || msg->bio || in_trail)) | 893 | (msg->pages || msg->pagelist || msg->bio || in_trail)) |
894 | kunmap(page); | 894 | kunmap(page); |
895 | 895 | ||
@@ -903,7 +903,7 @@ static int write_partial_msg_pages(struct ceph_connection *con) | |||
903 | if (ret == len) { | 903 | if (ret == len) { |
904 | con->out_msg_pos.page_pos = 0; | 904 | con->out_msg_pos.page_pos = 0; |
905 | con->out_msg_pos.page++; | 905 | con->out_msg_pos.page++; |
906 | con->out_msg_pos.did_page_crc = 0; | 906 | con->out_msg_pos.did_page_crc = false; |
907 | if (in_trail) | 907 | if (in_trail) |
908 | list_move_tail(&page->lru, | 908 | list_move_tail(&page->lru, |
909 | &msg->trail->head); | 909 | &msg->trail->head); |
@@ -920,7 +920,7 @@ static int write_partial_msg_pages(struct ceph_connection *con) | |||
920 | dout("write_partial_msg_pages %p msg %p done\n", con, msg); | 920 | dout("write_partial_msg_pages %p msg %p done\n", con, msg); |
921 | 921 | ||
922 | /* prepare and queue up footer, too */ | 922 | /* prepare and queue up footer, too */ |
923 | if (!crc) | 923 | if (!do_crc) |
924 | con->out_msg->footer.flags |= CEPH_MSG_FOOTER_NOCRC; | 924 | con->out_msg->footer.flags |= CEPH_MSG_FOOTER_NOCRC; |
925 | ceph_con_out_kvec_reset(con); | 925 | ceph_con_out_kvec_reset(con); |
926 | prepare_write_message_footer(con); | 926 | prepare_write_message_footer(con); |
@@ -1557,7 +1557,7 @@ static struct ceph_msg *ceph_alloc_msg(struct ceph_connection *con, | |||
1557 | 1557 | ||
1558 | static int read_partial_message_pages(struct ceph_connection *con, | 1558 | static int read_partial_message_pages(struct ceph_connection *con, |
1559 | struct page **pages, | 1559 | struct page **pages, |
1560 | unsigned data_len, int datacrc) | 1560 | unsigned data_len, bool do_datacrc) |
1561 | { | 1561 | { |
1562 | void *p; | 1562 | void *p; |
1563 | int ret; | 1563 | int ret; |
@@ -1570,7 +1570,7 @@ static int read_partial_message_pages(struct ceph_connection *con, | |||
1570 | p = kmap(pages[con->in_msg_pos.page]); | 1570 | p = kmap(pages[con->in_msg_pos.page]); |
1571 | ret = ceph_tcp_recvmsg(con->sock, p + con->in_msg_pos.page_pos, | 1571 | ret = ceph_tcp_recvmsg(con->sock, p + con->in_msg_pos.page_pos, |
1572 | left); | 1572 | left); |
1573 | if (ret > 0 && datacrc) | 1573 | if (ret > 0 && do_datacrc) |
1574 | con->in_data_crc = | 1574 | con->in_data_crc = |
1575 | crc32c(con->in_data_crc, | 1575 | crc32c(con->in_data_crc, |
1576 | p + con->in_msg_pos.page_pos, ret); | 1576 | p + con->in_msg_pos.page_pos, ret); |
@@ -1590,7 +1590,7 @@ static int read_partial_message_pages(struct ceph_connection *con, | |||
1590 | #ifdef CONFIG_BLOCK | 1590 | #ifdef CONFIG_BLOCK |
1591 | static int read_partial_message_bio(struct ceph_connection *con, | 1591 | static int read_partial_message_bio(struct ceph_connection *con, |
1592 | struct bio **bio_iter, int *bio_seg, | 1592 | struct bio **bio_iter, int *bio_seg, |
1593 | unsigned data_len, int datacrc) | 1593 | unsigned data_len, bool do_datacrc) |
1594 | { | 1594 | { |
1595 | struct bio_vec *bv = bio_iovec_idx(*bio_iter, *bio_seg); | 1595 | struct bio_vec *bv = bio_iovec_idx(*bio_iter, *bio_seg); |
1596 | void *p; | 1596 | void *p; |
@@ -1606,7 +1606,7 @@ static int read_partial_message_bio(struct ceph_connection *con, | |||
1606 | 1606 | ||
1607 | ret = ceph_tcp_recvmsg(con->sock, p + con->in_msg_pos.page_pos, | 1607 | ret = ceph_tcp_recvmsg(con->sock, p + con->in_msg_pos.page_pos, |
1608 | left); | 1608 | left); |
1609 | if (ret > 0 && datacrc) | 1609 | if (ret > 0 && do_datacrc) |
1610 | con->in_data_crc = | 1610 | con->in_data_crc = |
1611 | crc32c(con->in_data_crc, | 1611 | crc32c(con->in_data_crc, |
1612 | p + con->in_msg_pos.page_pos, ret); | 1612 | p + con->in_msg_pos.page_pos, ret); |
@@ -1633,7 +1633,7 @@ static int read_partial_message(struct ceph_connection *con) | |||
1633 | int ret; | 1633 | int ret; |
1634 | int to, left; | 1634 | int to, left; |
1635 | unsigned front_len, middle_len, data_len; | 1635 | unsigned front_len, middle_len, data_len; |
1636 | int datacrc = con->msgr->nocrc; | 1636 | bool do_datacrc = con->msgr->nocrc; |
1637 | int skip; | 1637 | int skip; |
1638 | u64 seq; | 1638 | u64 seq; |
1639 | 1639 | ||
@@ -1744,7 +1744,7 @@ static int read_partial_message(struct ceph_connection *con) | |||
1744 | while (con->in_msg_pos.data_pos < data_len) { | 1744 | while (con->in_msg_pos.data_pos < data_len) { |
1745 | if (m->pages) { | 1745 | if (m->pages) { |
1746 | ret = read_partial_message_pages(con, m->pages, | 1746 | ret = read_partial_message_pages(con, m->pages, |
1747 | data_len, datacrc); | 1747 | data_len, do_datacrc); |
1748 | if (ret <= 0) | 1748 | if (ret <= 0) |
1749 | return ret; | 1749 | return ret; |
1750 | #ifdef CONFIG_BLOCK | 1750 | #ifdef CONFIG_BLOCK |
@@ -1752,7 +1752,7 @@ static int read_partial_message(struct ceph_connection *con) | |||
1752 | 1752 | ||
1753 | ret = read_partial_message_bio(con, | 1753 | ret = read_partial_message_bio(con, |
1754 | &m->bio_iter, &m->bio_seg, | 1754 | &m->bio_iter, &m->bio_seg, |
1755 | data_len, datacrc); | 1755 | data_len, do_datacrc); |
1756 | if (ret <= 0) | 1756 | if (ret <= 0) |
1757 | return ret; | 1757 | return ret; |
1758 | #endif | 1758 | #endif |
@@ -1787,7 +1787,7 @@ static int read_partial_message(struct ceph_connection *con) | |||
1787 | m, con->in_middle_crc, m->footer.middle_crc); | 1787 | m, con->in_middle_crc, m->footer.middle_crc); |
1788 | return -EBADMSG; | 1788 | return -EBADMSG; |
1789 | } | 1789 | } |
1790 | if (datacrc && | 1790 | if (do_datacrc && |
1791 | (m->footer.flags & CEPH_MSG_FOOTER_NOCRC) == 0 && | 1791 | (m->footer.flags & CEPH_MSG_FOOTER_NOCRC) == 0 && |
1792 | con->in_data_crc != le32_to_cpu(m->footer.data_crc)) { | 1792 | con->in_data_crc != le32_to_cpu(m->footer.data_crc)) { |
1793 | pr_err("read_partial_message %p data crc %u != exp. %u\n", m, | 1793 | pr_err("read_partial_message %p data crc %u != exp. %u\n", m, |