OSDN Git Service

xprtrdma: Clean up SGE accounting in rpcrdma_prepare_msg_sges()
authorChuck Lever <chuck.lever@oracle.com>
Fri, 20 Oct 2017 14:47:39 +0000 (10:47 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 17 Nov 2017 18:47:55 +0000 (13:47 -0500)
commitad99f0530710af72b5bbecda9e770c736e92b328
tree7acfcb6de813452c335813da9eb291e2df2aa75d
parentbe798f9082aa54524b209fac2c8164c81cd28f77
xprtrdma: Clean up SGE accounting in rpcrdma_prepare_msg_sges()

Clean up. rpcrdma_prepare_hdr_sge() sets num_sge to one, then
rpcrdma_prepare_msg_sges() sets num_sge again to the count of SGEs
it added, plus one for the header SGE just mapped in
rpcrdma_prepare_hdr_sge(). This is confusing, and nails in an
assumption about when these functions are called.

Instead, maintain a running count that both functions can update
with just the number of SGEs they have added to the SGE array.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/rpc_rdma.c