tcmu: allow userspace to reset ring
authorMike Christie <mchristi@redhat.com>
Tue, 19 Dec 2017 10:03:58 +0000 (04:03 -0600)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 17 Jan 2018 02:05:04 +0000 (18:05 -0800)
commit892782caf19a97ccc95df51b3bb659ecacff986a
tree0f5ba3bad665c1f8f2ba180ba06a33d53f15eadc
parent8dc31ff9298963425f5c4bb6011bc2bedb76b1e9
tcmu: allow userspace to reset ring

This patch adds 2 tcmu attrs to block/unblock a device and
reset the ring buffer. They are used when the userspace
daemon has crashed or forced to shutdown while IO is executing.
On restart, the daemon can block the device so new IO is not
sent to userspace while it puts the ring in a clean state.

Notes: The reset ring opreation is specific to tcmu, but the
block one could be generic. I kept it tcmu specific, because
it requires some extra locking/state checks in the main IO
path and since other backend modules did not need this
functionality I thought only tcmu should take the perf hit.

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