Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Apr 1998 21:43:02 -0700 (PDT)
From:      Julian Elischer <julian@whistle.com>
To:        "Justin T. Gibbs" <gibbs@narnia.plutotech.com>
Cc:        Harlan Stenn <Harlan.Stenn@pfcs.com>, scsi@FreeBSD.ORG
Subject:   Re: does CAM do this?
Message-ID:  <Pine.BSF.3.95.980425213844.4815C-100000@current1.whistle.com>
In-Reply-To: <199804260427.WAA12999@narnia.plutotech.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sat, 25 Apr 1998, Justin T. Gibbs wrote:

> 
> This is probably because the old st driver does not set the B_ERROR
> buffer flag on a short read.  If you don't set the B_ERROR flag
> while setting b_error to 0, physio will attempt to fill the user's
> buffer by attempting additional reads.

I think the st does this correctly.. if not then someone's broken it
because I used to use this all the time when I had SCSI tapes.
CAM may well "do this correctly, but st did as well (I can't test it now)
I think the reason is because he doesn't understand the difference between
fixed and variable block modes.


>  The CAM driver behaves
> exactly as you wish.  When a short read is encountered, the user
> is returned a short read.  Just be aware, however, that if the device
> is in fixed block mode, your request must be a multiple of the block
> size.  Should it be a multiple > 1, you will get more than a single
> block back.  The only way to determine the block size in fixed block
> mode is to perform a smart search for the block size.

I may be wrong but I vaguely remeber thet the 'info' field contains valid
information in this case which I USED to print out in a meaningful manner
in one version of st.c (possibly only the TFS version).


 
julian

> --
> Justin
:


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?Pine.BSF.3.95.980425213844.4815C-100000>