Date: Thu, 3 Oct 1996 14:38:07 +0200 (MET DST) From: J Wunsch <j@uriah.heep.sax.de> To: freebsd-scsi@FreeBSD.org (FreeBSD SCSI list) Cc: rama@easynet.fr (David Ramahefason) Subject: Re: Problems with an HP DAT 35480 A 1109 Message-ID: <199610031238.OAA26400@uriah.heep.sax.de> In-Reply-To: <Pine.BSF.3.95.961002101943.2038B-100000@casimir.easynet.fr> from David Ramahefason at "Oct 2, 96 10:24:00 am"
next in thread | previous in thread | raw e-mail | index | archive | help
As David Ramahefason wrote: > mt blocksize 128000 > I get st0:bad request, must be multiple of 128000, and if I change it to > 256000, I get the same answer..... I think you cannot select such a large size as a fixed block size. (The actual limit in physio(9) is 65536 anyway.) Simply use it as a variable block size though: /sbin/dump 0ubBf 32 2000000 /dev/nrst0 /usr This means the records are written with 32 KB blocksize each. The blocksize for a variable-length tape is simply what you have been calling write(2) with. It is expected that the matching read(2) syscall uses at least the same size for reading the block again. It will yield a short read if the tape block was shorter than the attempted read() call: j@uriah 166% dd if=/dev/rst0 ibs=64k of=/dev/null count=1 0+1 records in 64+0 records out 32768 bytes transferred in 2 secs (16384 bytes/sec) This was the beginning of my nightly backup tape which uses 32 KB blocking. As you can see, the read was attempted for 64 KB blocks, but only 32 KB have been read. No error happens. The tape is in variable-length mode: j@uriah 167% mt status Present Mode: Density = ECMA TC17 Blocksize variable -- 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?199610031238.OAA26400>