]> git.baikalelectronics.ru Git - kernel.git/commit
xprtrdma: Introduce ro_unmap_sync method
authorChuck Lever <chuck.lever@oracle.com>
Wed, 16 Dec 2015 22:22:39 +0000 (17:22 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 18 Dec 2015 20:34:33 +0000 (15:34 -0500)
commit0db8e9d12f1e57949b2fc29cb4fbc1a95440094f
treece80278de85aec38afde06b8e8b8b3f245342e56
parent5d588db834e3103d8e37e8878d8173f0ebbdea38
xprtrdma: Introduce ro_unmap_sync method

In the current xprtrdma implementation, some memreg strategies
implement ro_unmap synchronously (the MR is knocked down before the
method returns) and some asynchonously (the MR will be knocked down
and returned to the pool in the background).

To guarantee the MR is truly invalid before the RPC consumer is
allowed to resume execution, we need an unmap method that is
always synchronous, invoked from the RPC/RDMA reply handler.

The new method unmaps all MRs for an RPC. The existing ro_unmap
method unmaps only one MR at a time.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Devesh Sharma <devesh.sharma@avagotech.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/xprt_rdma.h