diff options
author | Christoph Hellwig <hch@infradead.org> | 2012-07-08 15:58:49 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-07-16 17:35:21 -0700 |
commit | af8772926f019b7bddd7477b8de5f3b0f12bad21 (patch) | |
tree | 99bdfc7335a3223985b033404fb06fc58cb754f0 /drivers/target/target_core_device.c | |
parent | f314643751450a582c1ca40a54558240ef7cd4bf (diff) |
target: replace the processing thread with a TMR work queue
The last functionality of the target processing thread is offloading possibly
long running task management requests from the submitter context. To keep
TMR semantics the same we need a single threaded ordered queue, which can
be provided by a per-device workqueue with the right flags.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_device.c')
-rw-r--r-- | drivers/target/target_core_device.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index 5ad972856a8d..bcef6771bafc 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c @@ -715,7 +715,7 @@ void se_release_device_for_hba(struct se_device *dev) se_dev_stop(dev); if (dev->dev_ptr) { - kthread_stop(dev->process_thread); + destroy_workqueue(dev->tmr_wq); if (dev->transport->free_device) dev->transport->free_device(dev->dev_ptr); } |