]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xprtrdma: Use ib_device pointer safely
authorChuck Lever <chuck.lever@oracle.com>
Tue, 25 Aug 2015 18:39:12 +0000 (12:39 -0600)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 31 Aug 2015 20:45:55 +0000 (14:45 -0600)
commit6538995fe91179d6da0825139cb9bbafd8eace50
tree8a8d80844d621d86f327c9efde78acf7ac5a9a1c
parent5aee5465e11657f02c51e14a6502e11f1719557a
xprtrdma: Use ib_device pointer safely

[ Update commit 89e0d11258e9a69d550fd4bfb4609e955bdd84ee ]

The connect worker can replace ri_id, but prevents ri_id->device
from changing during the lifetime of a transport instance. The old
ID is kept around until a new ID is created and the ->device is
confirmed to be the same.

Cache a copy of ri_id->device in rpcrdma_ia and in rpcrdma_rep.
The cached copy can be used safely in code that does not serialize
with the connect worker.

Other code can use it to save an extra address generation (one
pointer dereference instead of two).

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Tested-By: Devesh Sharma <devesh.sharma@avagotech.com>
Reviewed-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/fmr_ops.c
net/sunrpc/xprtrdma/frwr_ops.c
net/sunrpc/xprtrdma/physical_ops.c
net/sunrpc/xprtrdma/verbs.c
net/sunrpc/xprtrdma/xprt_rdma.h