Skip to content

Commit c7eb4fe

Browse files
committed
svcrdma: Update synopsis of svc_rdma_read_chunk_range()
Since the RDMA Read I/O state is now contained in the recv_ctxt, svc_rdma_build_read_chunk_range() can use that recv_ctxt to derive that information rather than the other way around. This removes another usage of the ri_readctxt field, enabling its removal in a subsequent patch. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1 parent 02e8fe1 commit c7eb4fe

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

net/sunrpc/xprtrdma/svc_rdma_rw.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -951,9 +951,9 @@ static int svc_rdma_read_data_item(struct svcxprt_rdma *rdma,
951951
}
952952

953953
/**
954-
* svc_rdma_read_chunk_range - Build RDMA Read WQEs for portion of a chunk
955-
* @rdma: controlling transport
956-
* @info: context for RDMA Reads
954+
* svc_rdma_read_chunk_range - Build RDMA Read WRs for portion of a chunk
955+
* @rqstp: RPC transaction context
956+
* @head: context for ongoing I/O
957957
* @chunk: parsed Call chunk to pull
958958
* @offset: offset of region to pull
959959
* @length: length of region to pull
@@ -965,12 +965,11 @@ static int svc_rdma_read_data_item(struct svcxprt_rdma *rdma,
965965
* %-ENOTCONN: posting failed (connection is lost),
966966
* %-EIO: rdma_rw initialization failed (DMA mapping, etc).
967967
*/
968-
static int svc_rdma_read_chunk_range(struct svcxprt_rdma *rdma,
969-
struct svc_rdma_read_info *info,
968+
static int svc_rdma_read_chunk_range(struct svc_rqst *rqstp,
969+
struct svc_rdma_recv_ctxt *head,
970970
const struct svc_rdma_chunk *chunk,
971971
unsigned int offset, unsigned int length)
972972
{
973-
struct svc_rdma_recv_ctxt *head = info->ri_readctxt;
974973
const struct svc_rdma_segment *segment;
975974
int ret;
976975

@@ -987,8 +986,7 @@ static int svc_rdma_read_chunk_range(struct svcxprt_rdma *rdma,
987986
dummy.rs_length = min_t(u32, length, segment->rs_length) - offset;
988987
dummy.rs_offset = segment->rs_offset + offset;
989988

990-
ret = svc_rdma_build_read_segment(info->ri_rqst,
991-
info->ri_readctxt, &dummy);
989+
ret = svc_rdma_build_read_segment(rqstp, head, &dummy);
992990
if (ret < 0)
993991
break;
994992

@@ -1029,7 +1027,8 @@ static int svc_rdma_read_call_chunk(struct svcxprt_rdma *rdma,
10291027
start = 0;
10301028
chunk = pcl_first_chunk(pcl);
10311029
length = chunk->ch_position;
1032-
ret = svc_rdma_read_chunk_range(rdma, info, call_chunk, start, length);
1030+
ret = svc_rdma_read_chunk_range(info->ri_rqst, head, call_chunk,
1031+
start, length);
10331032
if (ret < 0)
10341033
return ret;
10351034

@@ -1044,15 +1043,16 @@ static int svc_rdma_read_call_chunk(struct svcxprt_rdma *rdma,
10441043

10451044
start += length;
10461045
length = next->ch_position - head->rc_readbytes;
1047-
ret = svc_rdma_read_chunk_range(rdma, info, call_chunk,
1048-
start, length);
1046+
ret = svc_rdma_read_chunk_range(info->ri_rqst, head,
1047+
call_chunk, start, length);
10491048
if (ret < 0)
10501049
return ret;
10511050
}
10521051

10531052
start += length;
10541053
length = call_chunk->ch_length - start;
1055-
return svc_rdma_read_chunk_range(rdma, info, call_chunk, start, length);
1054+
return svc_rdma_read_chunk_range(info->ri_rqst, head, call_chunk,
1055+
start, length);
10561056
}
10571057

10581058
/**

0 commit comments

Comments
 (0)