sunrpc: eliminate the XPT_DETACHED flag
authorJeff Layton <jlayton@primarydata.com>
Mon, 17 Nov 2014 22:02:57 +0000 (17:02 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 1 Dec 2014 19:45:26 +0000 (12:45 -0700)
All it does is indicate whether a xprt has already been deleted from
a list or not, which is unnecessary since we use list_del_init and it's
always set and checked under the sv_lock anyway.

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

index ce6e4182a5b2b82723d1a0c2293951b1147fd8f7..79f6f8f3dc0a2af7c8f51c43f086837144d6c34c 100644 (file)
@@ -63,10 +63,9 @@ struct svc_xprt {
 #define        XPT_CHNGBUF     7               /* need to change snd/rcv buf sizes */
 #define        XPT_DEFERRED    8               /* deferred request pending */
 #define        XPT_OLD         9               /* used for xprt aging mark+sweep */
-#define        XPT_DETACHED    10              /* detached from tempsocks list */
-#define XPT_LISTENER   11              /* listening endpoint */
-#define XPT_CACHE_AUTH 12              /* cache auth info */
-#define XPT_LOCAL      13              /* connection from loopback interface */
+#define XPT_LISTENER   10              /* listening endpoint */
+#define XPT_CACHE_AUTH 11              /* cache auth info */
+#define XPT_LOCAL      12              /* connection from loopback interface */
 
        struct svc_serv         *xpt_server;    /* service for transport */
        atomic_t                xpt_reserved;   /* space on outq that is rsvd */
index c179ca2a5aa45b8f37c44a660f50fc4b04c08273..97a75c17142b20fbfe5079cbcf13cff171effb08 100644 (file)
@@ -884,7 +884,6 @@ static void svc_age_temp_xprts(unsigned long closure)
                        continue;
                list_del_init(le);
                set_bit(XPT_CLOSE, &xprt->xpt_flags);
-               set_bit(XPT_DETACHED, &xprt->xpt_flags);
                dprintk("queuing xprt %p for closing\n", xprt);
 
                /* a thread will dequeue and close it soon */
@@ -924,8 +923,7 @@ static void svc_delete_xprt(struct svc_xprt *xprt)
        xprt->xpt_ops->xpo_detach(xprt);
 
        spin_lock_bh(&serv->sv_lock);
-       if (!test_and_set_bit(XPT_DETACHED, &xprt->xpt_flags))
-               list_del_init(&xprt->xpt_list);
+       list_del_init(&xprt->xpt_list);
        WARN_ON_ONCE(!list_empty(&xprt->xpt_ready));
        if (test_bit(XPT_TEMP, &xprt->xpt_flags))
                serv->sv_tmpcnt--;