Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 1998 22:56:14 -0800 (PST)
From:      Matthew Jacob <mjacob@feral.com>
To:        Julian Elischer <julian@whistle.com>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: Tape Driver Changes Proposed: Variable Mode as default
Message-ID:  <Pine.LNX.4.04.9812152246290.9552-100000@feral-gw>
In-Reply-To: <36773AFE.4487EB71@whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Yes- I saw this code. In fact, it was someone's comment about the
behaviour changing post-CAM that got me to thinking about this again.
What's actually happening now is that whatever the drive shows up as is
what it starts as. There are variant behaviours, for example, for
different f/w versions of Exabyte f/w that have it show up in fixed or
variable mode.

When I did the tape driver for Sun, I also used type && and tried to infer
from density code if I didn't know the type by name to set things like
ST_REEL or ST_QIC, etc.. the trouble is that w/o media inserted, or a lot
of the rest of the time you only get 'default' density reported. So rather
than having to enumerate all known drives as to whether they should come
up in fixed or variable, it seems to me that a slightly more agressive
leaning toward a default behaviour (variable) seemes appropriate now. In
the current prototype, btw., if the guessed choice fails (e..g, attempting
to set variable for an Archive Viper (QIC-24(read)/QIC-120/QIC-150)), the
driver will flip back to the other.

Yes, as in your original code, there should be both QUIRK_VARIABLE and
QUIRK_FIXED.

And, also like your original I believe, you set variable/blocksize as well
as density and compression at tape mount time (since you can't change
these things past BOT (usually) anyway)).

Insofar as the subdevices go- I lean multiple ways on this. 

Thanks for responding, Julian- it's good perspective to see what's been
done before here.

-matt



On Tue, 15 Dec 1998, Julian Elischer wrote:

> Matthew Jacob wrote:
> > 
> > I'm still processing and munching on the responses from the last call on
> > this- but closure is pretty close- in the interim, here's one that should
> > be less controversial:
> > 
> >         + forcing variable mode for tape devices unless quirked otherwise
> > 
> > Do people have an opinion on this?
> 
> In my original tape driver the default was not fixed, but rather,
> depended on a heuristic..
> 
> Most formats (e.g. QIC) in those days used a fixed mode, though
> variable mode was becoming more common. (as it had been originally
> in the 1/2 inch days)
> 
> If you look in st.c (in 2.2) you should still see
> the heuristic code that decides which is the most likely default 
> to use. Certainly it depended on the reported format of the drive.
> 
> Ultimatly if there is a quirk for the drive you allow that to over-ride
> the default and a user can over-ride the quirk.
> 
> You should ask the drive immediatly when asked to set a density, 
> and return an error if the drive is  not co-operative.
> 
> I selected 4 sub devices for the tape driver to allow 4 
> easily available preselected modes and formats. I found this a great
> thing when presented with a drive that could do several formats
> or densities. I just used different subdevices to write the density 
> I required.
> 
> I presume you have looked at st.c in the old scsi system.
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.04.9812152246290.9552-100000>