Skip site navigation (1)Skip section navigation (2)
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=E9rard 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 j=
ust
eyeballed the WRITE commands (which are both optional) and assumed that
applied to READ also.  But on second intespection, I see that you are corre=
ct.
Nonetheless, per Justin's suggestion, I am preparing patches to convert 6 b=
yte
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 ma=
y
be used if the command the DPO, FUA, and RelAdr bits are clear, the transfe=
r
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 t=
ry
first based on SCSI revision (>=3D2 try 10 byte commands first, <2 try 6 by=
te
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 comfortabl=
e
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>