summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtrdma/xprt_rdma.h
diff options
context:
space:
mode:
authorChuck Lever2015-12-16 23:22:47 +0100
committerAnna Schumaker2015-12-18 21:34:33 +0100
commitc9918ff56dfb175ce427140c641280d0b4522dbe (patch)
tree4677e432cdf9e78878e5ab6fcb3866032e249fbb /net/sunrpc/xprtrdma/xprt_rdma.h
parentxprtrdma: Introduce ro_unmap_sync method (diff)
downloadkernel-qcow2-linux-c9918ff56dfb175ce427140c641280d0b4522dbe.tar.gz
kernel-qcow2-linux-c9918ff56dfb175ce427140c641280d0b4522dbe.tar.xz
kernel-qcow2-linux-c9918ff56dfb175ce427140c641280d0b4522dbe.zip
xprtrdma: Add ro_unmap_sync method for FRWR
FRWR's ro_unmap is asynchronous. The new ro_unmap_sync posts LOCAL_INV Work Requests and waits for them to complete before returning. Note also, DMA unmapping is now done _after_ invalidation. 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>
Diffstat (limited to 'net/sunrpc/xprtrdma/xprt_rdma.h')
-rw-r--r--net/sunrpc/xprtrdma/xprt_rdma.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h
index c32cba3f21fb..ddae4909982b 100644
--- a/net/sunrpc/xprtrdma/xprt_rdma.h
+++ b/net/sunrpc/xprtrdma/xprt_rdma.h
@@ -207,6 +207,8 @@ struct rpcrdma_frmr {
enum rpcrdma_frmr_state fr_state;
struct work_struct fr_work;
struct rpcrdma_xprt *fr_xprt;
+ bool fr_waiter;
+ struct completion fr_linv_done;;
union {
struct ib_reg_wr fr_regwr;
struct ib_send_wr fr_invwr;