summaryrefslogtreecommitdiffstats
path: root/drivers/target
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2012-05-30 14:47:18 -0700
committerNicholas Bellinger <nab@linux-iscsi.org>2012-07-16 17:28:40 -0700
commita3785c8740c5b56b49ec336b59be996393d83332 (patch)
tree6ea1d4fae485ed85d577c927468654ba27527544 /drivers/target
parenteba2ca450526c1aaf2bfd363dffd63b024e80ea7 (diff)
downloadlinux-stable-a3785c8740c5b56b49ec336b59be996393d83332.tar.gz
linux-stable-a3785c8740c5b56b49ec336b59be996393d83332.tar.bz2
linux-stable-a3785c8740c5b56b49ec336b59be996393d83332.zip
target/pscsi: Only emulate REPORT_LUNS for passthrough
This patch changes back the pSCSI backend to follow pre 3.6-queue code to passthrough SPC-3 persistent reservations + SPC-2 legacy reservation handling to the underlying LLD / physical hardware. For folks who really need this for their own SPC-3 emulation logic, avoid changing the functionality of this beyond what is exported for REPORT_LUNS for existing code, and to avoid problems with SPC-3 PR/ALUA as INQUIRY EVPD=0x83 emulation needs to be in place in order for this to work as expected with spc_parse_cdb() code.. Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r--drivers/target/target_core_pscsi.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c
index 9a776cc03d67..cb4c6b1195d4 100644
--- a/drivers/target/target_core_pscsi.c
+++ b/drivers/target/target_core_pscsi.c
@@ -1061,18 +1061,12 @@ static int pscsi_parse_cdb(struct se_cmd *cmd)
pscsi_clear_cdb_lun(cdb);
/*
- * For REPORT LUNS we always need to emulate the respone, and for everything
- * related to persistent reservations and ALUA we might optionally use our
- * handlers before passing on the command to the physical hardware.
+ * For REPORT LUNS we always need to emulate the response, for everything
+ * else the default for pSCSI is to pass the command to the underlying
+ * LLD / physical hardware.
*/
switch (cdb[0]) {
case REPORT_LUNS:
- case PERSISTENT_RESERVE_IN:
- case PERSISTENT_RESERVE_OUT:
- case RELEASE:
- case RELEASE_10:
- case RESERVE:
- case RESERVE_10:
ret = spc_parse_cdb(cmd, &dummy_size);
if (ret)
return ret;