Subject: Re: sd3: not queued (using ccd) Do I have problems?
To: Marshall Midden <m4@unet.umn.edu>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-sparc
Date: 02/21/1996 11:42:57
On Wed, 21 Feb 1996 08:34:24 -0600 
 "Marshall Midden" <m4@unet.umn.edu> wrote:

 > NetBSD-current, January 16th, 1996 @ 7am "sup".
 > Q#1: Do I lose data when the above messages occur?

Possibly.  It means that the command failed.

 > Q#2: Anyone got a pointer on how to actually use the "ccd" driver for:
 >      a) disk striping (cdc wren 6's, 53 sec/trk, 15 trks/cyl, 1628 cyl)

I'm using the ccd in a striping configuration:

antie (thorpej) ~ 102% ccdconfig -g
ccd0            16      0       /dev/sd2e /dev/sd3e

The "16" is the interleave.  You'll probably get better performance 
interleaving at "32".

 >      b) concatenation

Set the interleave to "0".

 >      c) mirroring

While I have never personally done this, you can do it by:

	- having an even number of equal sized components
	- having an interleave > 0
	- setting flags to CCDF_MIRROR ... i.e.:

ccd0		16	0x04	/dev/sd2e /dev/sd3e

I've been working on a totally different mirroring system which will 
address some of the silly limitations and inflexibility of the current 
"ccd mirroring" code ... that's a spare-time hack, though, so I don't 
know when it'll be finished.  (HI MATT!)

 >      d) is the "8" in the pseudo-device for the number of /dev/ccd's, or
 > 	anyhow related to the number of entries on a specific ccd config?
 > 	(I'd guess just the /dev/ccd, but ...)

No ... the "8" is how many total ccd devices you'll be able to have, not 
the number of components per device.  "8" will give you ccd0-ccd7

 >      Explained ccd.conf files would do wonderfully in the man page!  Something
 >      that explains how much extra space to leave for the ccd0 disklabel, etc.
 >      I.e. do I need to allocate a track on each disk drive in a striped
 >      configuration, and then another track within the ccd0 disklabel?  Playing
 >      got me frustrated, but finally got something that works hopefully very
 >      well (see Q#1).

There's two manual pages: ccd(4) and ccdconfig(8) (both 
cross-referenced).  ccdconfig(8) describes how to use that configuration 
utility.  ccd(4) describes how to use the ccd (because you could write 
your own ccdconfig(8) replacement if you want :-)  The ccd(4) manual page 
states that you make sure that your component partitions are offset at 
least 1 cylinder from the beginning of the disk.  This is a bit of a 
waste of space, of course, but it's generally safe (because disklabels 
should never, ever, cross a cylinder boundary :-)

 P.S. before anyone asks, I did have to get new good scsi cables for the six
 > external disks running on an ELC.  I'd be using scsi 4 for a tape drive, but as
 > other people have pointed out, there is something massively wrong with the st
 > code -- getting a tape error is rather neat!

What kind of tape drive to you have?  BTW, the "always get an EIO" error 
was fixed by John Kohl over the weekend.

 >   /dev/ccd0g /mnt ffs rw 1 3

So, I'm assuming you've placed a disklabel on the ccd ... I usually don't 
partition mine, and just use RAW_PART for the filesystem ... ccd0d on 
i386, ccd0c everywhere else.

--------------------------------------------------------------------------
Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939