Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Sep 1997 14:22:01 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        joerg_wunsch@uriah.heep.sax.de
Cc:        hackers@FreeBSD.ORG, handy@sag.space.lockheed.com
Subject:   Re: Tape question
Message-ID:  <199709071422.HAA08365@usr09.primenet.com>
In-Reply-To: <19970907103022.YU02721@uriah.heep.sax.de> from "J Wunsch" at Sep 7, 97 10:30:22 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > - The Exabyte tapes to be read have a variable (logical) block size,
> >   it typically is 8192 bytes, but often shorter.
> > 
> > - My original c program always attempted to read a 8192 byte block:
> > 
> >   nn = read(unit,buffer,8192);
> > 
> > - On the sun this worked, it would read one (logical) block, and
> >   return the actual number of bytes read.
> > 
> > - In FreeBSD this created unpredictable results, if the logical block
> >   was shorter than 8192.
> 
> This must be a problem with the Exabyte then.  It works fine for me,
> with a Tandberg TDC4222, and a QIC-525 cartridge (QIC-150, of course,
> doesn't work since it's fixed-length blocking).
> 
> Also, i know that restore(8) basically relies on this feature in order
> to determine the tape block size.  ISTR that this once was broken, but
> that's been quite some time ago.

I think it is a driver issue.

I would hesitate to actually call it a problem, however.

Effectively, one driver does a "sync" for you, and the other does
not:

	man dd
	/osync

...then read about the "osync" and "sync" options to "conv=".

So it's not the driver *OR* the controller (at least IMO).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709071422.HAA08365>