diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2015-03-24 05:40:26 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-11-25 11:22:02 -0500 |
commit | 39e91a60c823603d6377cc8fa0b0bf301d1966eb (patch) | |
tree | 6c8271d5bd1838d9e16e324e9d10b75c371e7293 | |
parent | f5ec0173b92ba88c7b38e32a7ee3dd3b1568ea50 (diff) |
drbd: use resource name in workqueue
Since kernel 3.3, we can use snprintf-style arguments
to create a workqueue.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r-- | drivers/block/drbd/drbd_main.c | 4 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index 938bca2df027..3a9a0f112004 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c | |||
@@ -2694,8 +2694,8 @@ static int init_submitter(struct drbd_device *device) | |||
2694 | { | 2694 | { |
2695 | /* opencoded create_singlethread_workqueue(), | 2695 | /* opencoded create_singlethread_workqueue(), |
2696 | * to be able to say "drbd%d", ..., minor */ | 2696 | * to be able to say "drbd%d", ..., minor */ |
2697 | device->submit.wq = alloc_workqueue("drbd%u_submit", | 2697 | device->submit.wq = |
2698 | WQ_UNBOUND | WQ_MEM_RECLAIM, 1, device->minor); | 2698 | alloc_ordered_workqueue("drbd%u_submit", WQ_MEM_RECLAIM, device->minor); |
2699 | if (!device->submit.wq) | 2699 | if (!device->submit.wq) |
2700 | return -ENOMEM; | 2700 | return -ENOMEM; |
2701 | 2701 | ||
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index ea54341df3bf..1957fe8601dc 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
@@ -1124,7 +1124,10 @@ randomize: | |||
1124 | } | 1124 | } |
1125 | 1125 | ||
1126 | drbd_thread_start(&connection->ack_receiver); | 1126 | drbd_thread_start(&connection->ack_receiver); |
1127 | connection->ack_sender = create_singlethread_workqueue("drbd_ack_sender"); | 1127 | /* opencoded create_singlethread_workqueue(), |
1128 | * to be able to use format string arguments */ | ||
1129 | connection->ack_sender = | ||
1130 | alloc_ordered_workqueue("drbd_as_%s", WQ_MEM_RECLAIM, connection->resource->name); | ||
1128 | if (!connection->ack_sender) { | 1131 | if (!connection->ack_sender) { |
1129 | drbd_err(connection, "Failed to create workqueue ack_sender\n"); | 1132 | drbd_err(connection, "Failed to create workqueue ack_sender\n"); |
1130 | return 0; | 1133 | return 0; |