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>