]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
rds: schedule local connection activity in proper workqueue
authorAjaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Mon, 18 Apr 2016 22:59:26 +0000 (15:59 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 23 May 2016 21:19:19 +0000 (14:19 -0700)
While reconnect, local connection is scheduled on rds_wq; while it it
should have been scheduled rds_local_wq.
This patch corrects that.

Orabug: 23223537

Tested-by: Michael Nowak <michael.nowak@oracle.com>
Signed-off-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Acked-by: Mukesh Kacker <mukesh.kacker@oracle.com>
net/rds/threads.c

index 82b6f3e906ae18593e22e19622dccb9e8e9d5708..55a1b48240c95cb65a246c67803a1005105d02ae 100644 (file)
@@ -139,7 +139,10 @@ void rds_queue_reconnect(struct rds_connection *conn)
        set_bit(RDS_RECONNECT_PENDING, &conn->c_flags);
        if (conn->c_reconnect_jiffies == 0) {
                conn->c_reconnect_jiffies = rds_sysctl_reconnect_min_jiffies;
-               queue_delayed_work(rds_wq, &conn->c_conn_w, 0);
+               if (conn->c_loopback)
+                       queue_delayed_work(rds_local_wq, &conn->c_conn_w, 0);
+               else
+                       queue_delayed_work(rds_wq, &conn->c_conn_w, 0);
                return;
        }