Date: Thu, 21 Feb 2002 14:28:41 -0800 (PST) From: Kelly Yancey <kbyanc@posi.net> To: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> Cc: =?iso-8859-1?Q?G=E9rard_Roudier?= <groudier@free.fr>, <freebsd-scsi@FreeBSD.ORG> Subject: Re: RBC support patch Message-ID: <20020221140554.N89039-100000@gateway.posi.net> In-Reply-To: <20020221225224.B34036@uriah.heep.sax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 21 Feb 2002, Joerg Wunsch wrote:
> As Gérard Roudier wrote:
>
> > My understanding is that WRITE(10) is just meaningless for read-only
> > devices, thus optionnal. But this is not worded this way in the
> > specs.
>
> Yep, i thought so, too, after reading the specs a bit more carefully.
> --
> cheers, J"org .-.-. --... ...-- -.. . DL8DTL
I stand corrected: READ(6) and READ(10) are both mandatory in SCSI2. I just
eyeballed the WRITE commands (which are both optional) and assumed that
applied to READ also. But on second intespection, I see that you are correct.
Nonetheless, per Justin's suggestion, I am preparing patches to convert 6 byte
commands to 10 byte once a device returns 'command not supported' for the 6
byte version.
Per recent discussion, I may try and implement 10 to 6 conversion that may
be used if the command the DPO, FUA, and RelAdr bits are clear, the transfer
length is under 256 blocks, and the LBA fits in 21 bits. In which case, if
a READ(10) fails, it can fall back to READ(6) (assuming a 6 byte read hasn't
already failed). In which case, we can determine which size we prefer to try
first based on SCSI revision (>=2 try 10 byte commands first, <2 try 6 byte
commands first) with fallback should that fail. But note that while
6 to 10 appears fairly straightforward, currently I am only considering
converting 10 byte reads to 6 byte reads right now. I'm not too comfortable
about the number of restrictions involved to downgrade a later command set to
an earlier one (as demonstrated by the READ criteria I listed above).
This is all getting a bit more complicated than I had originally planned.
Still doable, it's just going to take me a little longer. Please hold off on
suggesting any more cases/features until I post patches. :) Thanks,
Kelly
kbyanc@{posi.net,FreeBSD.org}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020221140554.N89039-100000>
