aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@kernel.org>2011-08-26 17:50:08 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2014-02-17 10:50:44 -0500
commit6db7e50a8a40d2210544b4a09f3d4988127c20ad (patch)
tree1789154c2e5115245395dd3331e1d226ee5e7f66
parentd448a2e1e3d02f8f19111191d490b7e0a5eb70ea (diff)
drbd: In the worker thread, process drbd_work instead of drbd_device_work items
Signed-off-by: Andreas Gruenbacher <agruen@linbit.com> Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
-rw-r--r--drivers/block/drbd/drbd_worker.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index c0ee7032f607..be9c4b894988 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -1888,7 +1888,7 @@ static void wait_for_work(struct drbd_connection *connection, struct list_head *
1888int drbd_worker(struct drbd_thread *thi) 1888int drbd_worker(struct drbd_thread *thi)
1889{ 1889{
1890 struct drbd_connection *connection = thi->connection; 1890 struct drbd_connection *connection = thi->connection;
1891 struct drbd_device_work *dw = NULL; 1891 struct drbd_work *w = NULL;
1892 struct drbd_peer_device *peer_device; 1892 struct drbd_peer_device *peer_device;
1893 LIST_HEAD(work_list); 1893 LIST_HEAD(work_list);
1894 int vnr; 1894 int vnr;
@@ -1914,9 +1914,9 @@ int drbd_worker(struct drbd_thread *thi)
1914 break; 1914 break;
1915 1915
1916 while (!list_empty(&work_list)) { 1916 while (!list_empty(&work_list)) {
1917 dw = list_first_entry(&work_list, struct drbd_device_work, w.list); 1917 w = list_first_entry(&work_list, struct drbd_work, list);
1918 list_del_init(&dw->w.list); 1918 list_del_init(&w->list);
1919 if (dw->w.cb(&dw->w, connection->cstate < C_WF_REPORT_PARAMS) == 0) 1919 if (w->cb(w, connection->cstate < C_WF_REPORT_PARAMS) == 0)
1920 continue; 1920 continue;
1921 if (connection->cstate >= C_WF_REPORT_PARAMS) 1921 if (connection->cstate >= C_WF_REPORT_PARAMS)
1922 conn_request_state(connection, NS(conn, C_NETWORK_FAILURE), CS_HARD); 1922 conn_request_state(connection, NS(conn, C_NETWORK_FAILURE), CS_HARD);
@@ -1925,9 +1925,9 @@ int drbd_worker(struct drbd_thread *thi)
1925 1925
1926 do { 1926 do {
1927 while (!list_empty(&work_list)) { 1927 while (!list_empty(&work_list)) {
1928 dw = list_first_entry(&work_list, struct drbd_device_work, w.list); 1928 w = list_first_entry(&work_list, struct drbd_work, list);
1929 list_del_init(&dw->w.list); 1929 list_del_init(&w->list);
1930 dw->w.cb(&dw->w, 1); 1930 w->cb(w, 1);
1931 } 1931 }
1932 dequeue_work_batch(&connection->sender_work, &work_list); 1932 dequeue_work_batch(&connection->sender_work, &work_list);
1933 } while (!list_empty(&work_list)); 1933 } while (!list_empty(&work_list));