svcrpc: assume svc_delete_xprt() called only once
J. Bruce Fields [Sat, 23 Oct 2010 15:16:10 +0000 (11:16 -0400)]
As long as DEAD exports are left BUSY, and svc_delete_xprt is called
only with BUSY held, then svc_delete_xprt() will never be called on an
xprt that is already DEAD.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>

net/sunrpc/svc_xprt.c

index 1b0673c..c65a472 100644 (file)
@@ -903,7 +903,7 @@ void svc_delete_xprt(struct svc_xprt *xprt)
 
        /* Only do this once */
        if (test_and_set_bit(XPT_DEAD, &xprt->xpt_flags))
-               return;
+               BUG();
 
        dprintk("svc: svc_delete_xprt(%p)\n", xprt);
        xprt->xpt_ops->xpo_detach(xprt);