Limiting the size of I/O requests to SCSI driver

Limiting the size of I/O requests to SCSI driver

Post by Subbu Seetharam » Fri, 30 Apr 2004 00:15:18



We are porting  a SCSI HBA driver to Solaris 9.0 using SCSA interface
on Solaris 9. We want to limit the total size of I/O requests coming
to the diver to 64KB.

SCSA provides scsi_ifgetcap() entry point - which the upper layer (sd
driver) is supposed to call to find out the limitation of our HBA
driver. But the sd never seem to call scsi_ifgetcap() for the
SCSI_CAP_DMA_MAX capability and we continue to get requests larger
than 64KB.

We have tried setting dma_attr_maxxfer  in the structure ddi_dma_attr
to 0xffff. This is also not helping either.

Are we missing something ? Is there any other way to limit the I/O
size coming to the driver ?  Thanks.

Subbu