]> git.openpandora.org Git - pandora-kernel.git/commitdiff
NFS/RDMA Release resources in svcrdma when device is removed
authorShirley Ma <shirley.ma@oracle.com>
Thu, 9 Jul 2015 20:45:08 +0000 (16:45 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 20 Jul 2015 18:58:47 +0000 (14:58 -0400)
When removing underlying RDMA device, the rmmod will hang forever if there
are any outstanding NFS/RDMA client mounts. The outstanding NFS/RDMA counts
could also prevent the server from shutting down. Further debugging shows
that the existing connections are not teared down and resource are not
released when receiving RDMA_CM_EVENT_DEVICE_REMOVAL event. It seems the
original code missing svc_xprt_put() in RDMA_CM_EVENT_REMOVAL event handler
thus svc_xprt_free is never invoked to release the existing connection
resources.

The patch has been passed removing, adding device back and forth without
stopping NFS/RDMA service. This will also allow a device to be unplugged
and swapped out without shutting down NFS service.

BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=252
Signed-off-by: Shirley Ma <shirley.ma@oracle.com>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>

No differences found