@@ -926,12 +926,14 @@ static void nvme_tcp_fail_request(struct nvme_tcp_request *req)
926
926
static int nvme_tcp_try_send_data (struct nvme_tcp_request * req )
927
927
{
928
928
struct nvme_tcp_queue * queue = req -> queue ;
929
+ int req_data_len = req -> data_len ;
929
930
930
931
while (true) {
931
932
struct page * page = nvme_tcp_req_cur_page (req );
932
933
size_t offset = nvme_tcp_req_cur_offset (req );
933
934
size_t len = nvme_tcp_req_cur_length (req );
934
935
bool last = nvme_tcp_pdu_last_send (req , len );
936
+ int req_data_sent = req -> data_sent ;
935
937
int ret , flags = MSG_DONTWAIT ;
936
938
937
939
if (last && !queue -> data_digest && !nvme_tcp_queue_more (queue ))
@@ -958,7 +960,7 @@ static int nvme_tcp_try_send_data(struct nvme_tcp_request *req)
958
960
* in the request where we don't want to modify it as we may
959
961
* compete with the RX path completing the request.
960
962
*/
961
- if (req -> data_sent + ret < req -> data_len )
963
+ if (req_data_sent + ret < req_data_len )
962
964
nvme_tcp_advance_req (req , ret );
963
965
964
966
/* fully successful last send in current PDU */
@@ -1048,10 +1050,11 @@ static int nvme_tcp_try_send_data_pdu(struct nvme_tcp_request *req)
1048
1050
static int nvme_tcp_try_send_ddgst (struct nvme_tcp_request * req )
1049
1051
{
1050
1052
struct nvme_tcp_queue * queue = req -> queue ;
1053
+ size_t offset = req -> offset ;
1051
1054
int ret ;
1052
1055
struct msghdr msg = { .msg_flags = MSG_DONTWAIT };
1053
1056
struct kvec iov = {
1054
- .iov_base = & req -> ddgst + req -> offset ,
1057
+ .iov_base = ( u8 * ) & req -> ddgst + req -> offset ,
1055
1058
.iov_len = NVME_TCP_DIGEST_LENGTH - req -> offset
1056
1059
};
1057
1060
@@ -1064,7 +1067,7 @@ static int nvme_tcp_try_send_ddgst(struct nvme_tcp_request *req)
1064
1067
if (unlikely (ret <= 0 ))
1065
1068
return ret ;
1066
1069
1067
- if (req -> offset + ret == NVME_TCP_DIGEST_LENGTH ) {
1070
+ if (offset + ret == NVME_TCP_DIGEST_LENGTH ) {
1068
1071
nvme_tcp_done_send_req (queue );
1069
1072
return 1 ;
1070
1073
}
0 commit comments