Skip site navigation (1)Skip section navigation (2)
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>