Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3785c87 authored by Nicholas Bellinger's avatar Nicholas Bellinger
Browse files

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
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -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;