sunrpc: only call test_bit once in svc_xprt_received
authorJeff Layton <jlayton@primarydata.com>
Mon, 1 Dec 2014 18:45:24 +0000 (13:45 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 9 Dec 2014 16:29:14 +0000 (11:29 -0500)
...move the WARN_ON_ONCE inside the following if block since they use
the same condition.

Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/svc_xprt.c

index 73d40bd..c69358b 100644 (file)
@@ -220,9 +220,11 @@ static struct svc_xprt *__svc_xpo_create(struct svc_xprt_class *xcl,
  */
 static void svc_xprt_received(struct svc_xprt *xprt)
 {
-       WARN_ON_ONCE(!test_bit(XPT_BUSY, &xprt->xpt_flags));
-       if (!test_bit(XPT_BUSY, &xprt->xpt_flags))
+       if (!test_bit(XPT_BUSY, &xprt->xpt_flags)) {
+               WARN_ONCE(1, "xprt=0x%p already busy!", xprt);
                return;
+       }
+
        /* As soon as we clear busy, the xprt could be closed and
         * 'put', so we need a reference to call svc_xprt_do_enqueue with:
         */