summaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorMike Christie <mchristi@redhat.com>2017-03-01 23:13:24 -0600
committerNicholas Bellinger <nab@linux-iscsi.org>2017-03-18 14:47:25 -0700
commit530c6891b1220cba780b6c18f4691d85a3435080 (patch)
tree26ff2d44658b4dae7d60500e0b79014ec1eaf4a0 /include/target
parent2579325ca0acc598fdf41ba12b2871d3467f28df (diff)
downloadlinux-stable-530c6891b1220cba780b6c18f4691d85a3435080.tar.gz
linux-stable-530c6891b1220cba780b6c18f4691d85a3435080.tar.bz2
linux-stable-530c6891b1220cba780b6c18f4691d85a3435080.zip
target: allow ALUA setup for some passthrough backends
This patch allows passthrough backends to use the core/base LIO ALUA setup and state checks, but still handle the execution of commands. This will allow the target_core_user module to execute STPG and RTPG in userspace, and not have to duplicate the ALUA state checks, path information (needed so we can check if command is executable on specific paths) and setup (rtslib sets/updates the configfs ALUA interface like it does for iblock or file). For STPG, the target_core_user userspace daemon, tcmu-runner will still execute the STPG, and to update the core/base LIO state it will use the existing configfs interface. For RTPG, tcmu-runner will loop over configfs and/or cache the state. Signed-off-by: Mike Christie <mchristi@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
-rw-r--r--include/target/target_core_backend.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h
index b54b98dc2d4a..1b0f447ce850 100644
--- a/include/target/target_core_backend.h
+++ b/include/target/target_core_backend.h
@@ -4,7 +4,12 @@
#include <linux/types.h>
#include <target/target_core_base.h>
-#define TRANSPORT_FLAG_PASSTHROUGH 1
+#define TRANSPORT_FLAG_PASSTHROUGH 0x1
+/*
+ * ALUA commands, state checks and setup operations are handled by the
+ * backend module.
+ */
+#define TRANSPORT_FLAG_PASSTHROUGH_ALUA 0x2
struct request_queue;
struct scatterlist;