tcmu: move expired command completion to unmap thread
authorMike Christie <mchristi@redhat.com>
Tue, 28 Nov 2017 18:40:31 +0000 (12:40 -0600)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 12 Jan 2018 23:07:13 +0000 (15:07 -0800)
commit488ebe4c355fdead39dbb3f6a51329c16cbfcc60
treeb23d76cc19a8e4fd937ecf94ed517a8571cd17bc
parent9972cebb59a653cca735178a70c8ab09a5f4de1a
tcmu: move expired command completion to unmap thread

This moves the expired command completion handling to
the unmap wq, so the next patch can use a mutex
in tcmu_check_expired_cmd.

Note:
tcmu_device_timedout's use of spin_lock_irq was not needed.
The commands_lock is used between thread context (tcmu_queue_cmd_ring
and tcmu_irqcontrol (even though this is named irqcontrol it is not
run in irq context)) and timer/bh context. In the timer/bh context
bhs are disabled, so you need to use the _bh lock calls from the
thread context callers.

Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_user.c