Commit a3785c87 authored by Nicholas Bellinger's avatar Nicholas Bellinger

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: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent eba2ca45
...@@ -1061,18 +1061,12 @@ static int pscsi_parse_cdb(struct se_cmd *cmd) ...@@ -1061,18 +1061,12 @@ static int pscsi_parse_cdb(struct se_cmd *cmd)
pscsi_clear_cdb_lun(cdb); pscsi_clear_cdb_lun(cdb);
/* /*
* For REPORT LUNS we always need to emulate the respone, and for everything * For REPORT LUNS we always need to emulate the response, for everything
* related to persistent reservations and ALUA we might optionally use our * else the default for pSCSI is to pass the command to the underlying
* handlers before passing on the command to the physical hardware. * LLD / physical hardware.
*/ */
switch (cdb[0]) { switch (cdb[0]) {
case REPORT_LUNS: 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); ret = spc_parse_cdb(cmd, &dummy_size);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment