summaryrefslogtreecommitdiff
path: root/drivers/block/loop.h
diff options
context:
space:
mode:
authorMing Lei <ming.lei@canonical.com>2015-05-05 14:49:54 +0300
committerJens Axboe <axboe@fb.com>2015-05-05 22:46:53 +0300
commitf4aa4c7bbac6c4afdd4adccf90898c1a3685396d (patch)
tree9e22cc47f6a22f8536ae40ec76aff6611f0c8414 /drivers/block/loop.h
parent9dc6c806b3c4812619e305685b3c86835bf784ab (diff)
downloadlinux-f4aa4c7bbac6c4afdd4adccf90898c1a3685396d.tar.xz
block: loop: convert to per-device workqueue
Documentation/workqueue.txt: If there is dependency among multiple work items used during memory reclaim, they should be queued to separate wq each with WQ_MEM_RECLAIM. Loop devices can be stacked, so we have to convert to per-device workqueue. One example is Fedora live CD. Fixes: b5dd2f6047ca108001328aac0e8588edd15f1778 Cc: stable@vger.kernel.org (v4.0) Cc: Justin M. Forbes <jforbes@fedoraproject.org> Signed-off-by: Ming Lei <ming.lei@canonical.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/block/loop.h')
-rw-r--r--drivers/block/loop.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/loop.h b/drivers/block/loop.h
index 301c27f8323f..49564edf5581 100644
--- a/drivers/block/loop.h
+++ b/drivers/block/loop.h
@@ -54,6 +54,7 @@ struct loop_device {
gfp_t old_gfp_mask;
spinlock_t lo_lock;
+ struct workqueue_struct *wq;
struct list_head write_cmd_head;
struct work_struct write_work;
bool write_started;