summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_main.c
diff options
context:
space:
mode:
authorLars Ellenberg2011-10-19 11:50:57 +0200
committerPhilipp Reisner2012-11-08 16:58:34 +0100
commit8c0785a5c9a0f2472aff68dc32247be01728c416 (patch)
treeadb036acb283550aab1a1860bff454a86eb446d5 /drivers/block/drbd/drbd_main.c
parentdrbd: transfer log epoch numbers are now per resource (diff)
downloadkernel-qcow2-linux-8c0785a5c9a0f2472aff68dc32247be01728c416.tar.gz
kernel-qcow2-linux-8c0785a5c9a0f2472aff68dc32247be01728c416.tar.xz
kernel-qcow2-linux-8c0785a5c9a0f2472aff68dc32247be01728c416.zip
drbd: allow to dequeue batches of work at a time
cherry-picked and adapted from drbd 9 devel branch In 8.4, we still use drbd_queue_work_front(), so in normal operation, we can not dequeue batches, but only single items. Still, followup commits will wake the worker without explicitly queueing a work item, so up() is replaced by a simple wake_up(). Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_main.c')
-rw-r--r--drivers/block/drbd/drbd_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index bfe6975ef94c..f379d33b10a4 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -2535,9 +2535,9 @@ out:
static void drbd_init_workqueue(struct drbd_work_queue* wq)
{
- sema_init(&wq->s, 0);
spin_lock_init(&wq->q_lock);
INIT_LIST_HEAD(&wq->q);
+ init_waitqueue_head(&wq->q_wait);
}
struct drbd_tconn *conn_get_by_name(const char *name)