Return a lun count of 1 and a lun id of 0 when CAM attempts a REPORT_LUNS

command on a disk device.  This quieseces some noise on the console that
recently appeared.

Obtained from:	Yahoo! Inc.
MFC after:	2 weeks
This commit is contained in:
Sean Bruno 2013-04-23 18:29:51 +00:00
parent 3bf0823c5c
commit a1abcc4f03

View File

@ -3202,6 +3202,19 @@ ciss_cam_emulate(struct ciss_softc *sc, struct ccb_scsiio *csio)
}
}
/*
* A CISS target can only ever have one lun per target. REPORT_LUNS requires
* at least one LUN field to be pre created for us, so snag it and fill in
* the least significant byte indicating 1 LUN here. Emulate the command
* return to shut up warning on console of a CDB error. swb
*/
if (opcode == REPORT_LUNS && csio->dxfer_len > 0) {
csio->data_ptr[3] = 8;
csio->ccb_h.status |= CAM_REQ_CMP;
xpt_done((union ccb *)csio);
return(1);
}
return(0);
}