Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Sep 1997 07:37:10 +0200
From:      j@uriah.heep.sax.de (J Wunsch)
To:        hackers@FreeBSD.ORG
Subject:   Re: Tape question
Message-ID:  <19970908073710.TX24990@uriah.heep.sax.de>
In-Reply-To: <199709072300.QAA23747@usr04.primenet.com>; from Terry Lambert on Sep 7, 1997 23:00:03 %2B0000
References:  <19970908001216.PA02497@uriah.heep.sax.de> <199709072300.QAA23747@usr04.primenet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
As Terry Lambert wrote:

> Sorry; I was unclear.  I should have said "a raw device *driver*".

No, you were not unclear.  You were wrong.  We aren't talking about
`partial blocks' or such.  We are talking about variable-length
recording tape drives, such as DAT, EXB-8mm, or QIC >= 525.  In this
case, there's nothing like a `partial block', or a read or write
attempt crossing a `block boundary'.  Any write(2) causes a media
block being written of the exact length that has been passed down to
this syscall.  (Within limits, of course, for FreeBSD <= 64 KB.)  Any
read(2) syscall is expected to specify a length that is at least the
size of the next tape block (otherwise an error will be signalled),
and will return the exact amount of bytes in the tape block.

The person who's originally got the problem said the above expected
behaviour would work on a Sun but not on FreeBSD.  My test case was to
prove it works on FreeBSD for me (that is, with a SymBios 83c810, and
a Tandberg TDC 4222 using QIC-525 cartridges).  I can test it again
with an AHA-2940 and a DAT drive once i'm at work today.

-- 
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?19970908073710.TX24990>