aboutsummaryrefslogtreecommitdiff
path: root/share/examples/scsi_target
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2006-03-22 01:30:07 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2006-03-22 01:30:07 +0000
commit0fa274524ae4e828eb84b6b9ae18a3238f79c83d (patch)
tree32b1927ee9121724bebd312529ebe845f16d8c19 /share/examples/scsi_target
parent96c0381f5cd02b99ba5803d047cda782d3eeca8a (diff)
At least respond to REPORT LUNS with an ILLEGAL COMMAND response.
This keeps us from dumping core when modern OS' like Windows and Linux see us.
Notes
Notes: svn path=/head/; revision=156981
Diffstat (limited to 'share/examples/scsi_target')
-rw-r--r--share/examples/scsi_target/scsi_cmds.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/share/examples/scsi_target/scsi_cmds.c b/share/examples/scsi_target/scsi_cmds.c
index 3e152aabe422..33d1ceca6a21 100644
--- a/share/examples/scsi_target/scsi_cmds.c
+++ b/share/examples/scsi_target/scsi_cmds.c
@@ -48,6 +48,9 @@
typedef int targ_start_func(struct ccb_accept_tio *, struct ccb_scsiio *);
typedef void targ_done_func(struct ccb_accept_tio *, struct ccb_scsiio *,
io_ops);
+#ifndef REPORT_LUNS
+#define REPORT_LUNS 0xa0
+#endif
struct targ_cdb_handlers {
u_int8_t cmd;
@@ -87,7 +90,7 @@ static struct targ_cdb_handlers cdb_handlers[] = {
{ SYNCHRONIZE_CACHE, tcmd_null_ok, NULL },
{ MODE_SENSE_6, tcmd_illegal_req, NULL },
{ MODE_SELECT_6, tcmd_illegal_req, NULL },
- /* XXX REPORT_LUNS should be handled here. */
+ { REPORT_LUNS, tcmd_illegal_req, NULL },
#ifdef READ_16
{ READ_16, tcmd_rdwr, tcmd_rdwr_done },
{ WRITE_16, tcmd_rdwr, tcmd_rdwr_done },