[765] in linux-scsi channel archive
Re: large block sizes with SCSI tape drives
daemon@ATHENA.MIT.EDU (Kai Makisara)
Sat Nov 4 23:02:35 1995
Date: Sat, 4 Nov 1995 21:10:39 +0200 (EET)
From: Kai Makisara <makisara@abies.metla.fi>
Reply-To: Kai.Makisara@metla.fi
To: Baba Z Buehler <baba@beckman.uiuc.edu>
Cc: linux-scsi@vger.rutgers.edu, linux-kernel@vger.rutgers.edu
In-Reply-To: <199511040017.SAA01274@tigger.beckman.uiuc.edu>
On Fri, 3 Nov 1995, Baba Z Buehler wrote:
>
> I'm doing some speed trials on a DLT tape drive for evaluation purposes, so
> I've been playing with block sizes, etc to see how they affect operation of the
> drive.
>
> I noticed that in 1.3.37, when I use a block size of 200k or more (using dd
> if=large.file of=/dev/nst0 bs=200k) it instantly freezes the system... there
> _may_ be a null pointer Oops produced in this, nothing gets logged, but I did
...
> Is there a maximum block size the Linux SCSI tape drive can write, and, if so,
> where is this defined? (I poked around in drivers/scsi/st.c for a bit, but
> didn't see anything obvious there.)
>
In the same directory as st.c there is a file README.st that explains the
block size limits (and the other options in st.c). Briefly, in the older
kernels the maximum block size was defined either at compile time or with
a boot option. The recent kernels try to allocate a larger tape buffer if
necessary. The buffer size in the distributed kernel is 32 kB. I have
tested the code with 64 kB block size but I will try 200 kB. There may
be a bug in st.c in case allocation of a larger buffer fails.
Kai