forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
eba2ca4505
commit
a3785c8740
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user