Subject: Re: sd3: not queued (using ccd) Do I have problems?
To: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-sparc
Date: 02/27/1996 19:13:58
On Tue, 27 Feb 1996 10:30:43 -0500 
 der Mouse <mouse@Collatz.McRCIM.McGill.EDU> wrote:

 > (sigh, really wish ccd would behave more sensibly; having to lie about
 > cylinder size to avoid wasting space is a pain.)

It's not really lying about cylinder size at all.  The reason you offset 
one cylinder (and this is documented in the manual page) is to prevent 
the ccd from getting confused by thinking the component's disklabel is 
the ccd's disklabel.  The scenario is like this...

component sd0c and sd1c ... both start at the beginning of the disk.  
Each contain a disklabel at LABELSECTOR (2, for the sake of example).  A 
ccd is made of sd0c and sd1c.  The ccd reads it's disklabel from 
LABELSECTOR, which, in this case, maps *directly* to LABELSECTOR on 
sd0c.  This causes the ccd to think that the component's partition info 
is actually the partition info for the ccd.  This is bad.

That is why you offset the ccd components a cylinder...it's a good, safe 
distance from the beginning of the disk.

 > > Now if it were only possible to add partitions "on-the-fly" when one
 > > fills up, add another [and of course, the program that fills it up
 > > must not die]!  (newfs -- *sigh*)
 > 
 > I can't help with the while-mounted bit - for that, you need something
 > akin to Auspex's "isolation" notion - but I can at least avoid the need
 > to newfs.  I wrote a program ("fsresize") which can resize filesystems,
 > either grow or shrink, without losing their contents.  The filesystem
 > needs to be unmounted at the time - though you could probably keep it
 > mounted if it's mounted read-only during the update, and you mount -o
 > reload afterwards.
 > 
 > It's NetBSD-only at present (until I find enough docs on others' ffs
 > quirks), but for your purposes that's not a problem. :-)

Note, we've had this thread before (and beat it into the ground, actually :-)
Mouse's fsresize will only work if you add components to the *end* of a 
*serially concatenated* volume (no interleave).

 > source:  ftp://collatz.mcrcim.mcgill.edu/mouse/fsresize.c
 > manpage: ftp://collatz.mcrcim.mcgill.edu/mouse/fsresize.8

...and one of these days I'll actually have time to think about importing 
it...

--------------------------------------------------------------------------
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