Date: Wed, 27 Mar 1996 00:07:20 +0100 (MET) From: J Wunsch <j@uriah.heep.sax.de> To: jkh@time.cdrom.com (Jordan K. Hubbard) Cc: hackers@freefall.freebsd.org, gibbs@freebsd.org Subject: Re: Can't read this stupid DAT tape - ARGH! Message-ID: <199603262307.AAA16445@uriah.heep.sax.de> In-Reply-To: <199603262031.MAA00692@time.cdrom.com> from "Jordan K. Hubbard" at Mar 26, 96 12:31:18 pm
next in thread | previous in thread | raw e-mail | index | archive | help
As Jordan K. Hubbard wrote: > Anyone familar enough with DAT drives to know what an extended-sense > return of 0x20 (SSD_ILI) means? ``An incorrect length indicator (ILI) bit of one usually indicates that the requested logical block length did not match the logical block length of the data on the medium.'' > I'm trying to read a DAT from SGI and the driver returns this code, > printing it as `st0: 262144-byte record too big' on my console. Are you sure your DAT drive is able to read 256K blocks at all? Does ``mt blocksize 0'' and ``dd if=/dev/rst0 ibs=256k ...'' work? Hmmmmm. It seems that our driver imposes artificial limitations: j@uriah 262% /sbin/scsi -f /dev/st0ctl.0 -v -c "5 0 0 0 0 0" -i 6 "\ *i1\ {max} i3\ {min} i2" max: 16777215 min: 1 So my tape drive would support any block length between 1 byte and 16MB-1. However, the biggest tape block i've been able to write was 64 KB, so something on top of st_read() must be chopping the request... can only by physio()... yup, here's the culprit: j@uriah 268% fgrep MAXPHYS /usr/include/machine/* /usr/include/machine/param.h:#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */ I think you gotta bump this one to 256 K, and recompile your world. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603262307.AAA16445>