Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Dec 1997 14:50:36 -0800 (PST)
From:      Julian Elischer <julian@whistle.com>
To:        Norman C Rice <nrice@emu.sourcee.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: How to add slice to existing FS
Message-ID:  <Pine.BSF.3.95.971225143033.18198I-100000@current1.whistle.com>
In-Reply-To: <19971225172526.55319@emu.sourcee.com>

next in thread | previous in thread | raw e-mail | index | archive | help
The 'c' partition is treated specially in the kernel.  it happens to work,
but it is defined to be the same as the whole slice on which the disklabel
is placed. it is sometimes synthesized.  The correct name fo rthat
'partition' would be the same name, with just the s1 (or maybe without
that if you don't even have slices..) 

Theoretically you should be able to make a filesystem on,
/dev/sd0 [whole disk is one filesystem]
/dev/sd0s1 [whole of first slice is one filesystem]
/dev/sd0s1a [a sub-partition of the first slice is a filesystem]
/dev/sd0a [a sub-partition of a dangerously dedicated disk is a
filesystem]

The first two may not work right now but the same effect can be achieved
by defining the 'a' partition to be the whole area. using the 'c'
partition relies on something that 'while currently true' is not
necessarily logically correct.

If you were a unix newby..
and you wanted to makw a filesystem on the whole disk
which would be the device you would expect to use?

sd0
sd0s1c
sd0s1a

the answer is:
"If you wanted to do the whole disk, why bother partitionning it at all?"
sd0
"If you were going to partition it then why use 'c'? what's so
magic about 'c'?" The usual correct answer is to use 'a'
and keep 'c' hanging around for compatibilty.
If you actually use 'c' now, it's no real work to define an 'a'
that covers the same area.


So the long answer to your question is:
'c' was defined to be special back when disklabels were first
introduced because once htey subdeviced a disk, they had no other
way of specifying the whole disk. This is not true in FreeBSD
so it is relying on the continuance of this 'compatibilty feature'
to expect 'c' to always do what you expect. If we ever 'recover'
teh 'c' partition in teh same way that we recoveredd the 'd' partition
(which used to be special too) then 'c' will become 
just another partition. 
In my new code, 'c' is not needed and since I don't allow overlapping
partitions to be shown in /dev, 'c' is not shown by default.

I have just realised that 'c' is not overlapping for you,
so it probably will show up on your system...
hmmm

let's just say that using 'c' as a partition instead of defining
a new one has always been 'ok' but not done by people who want to 
avoid trouble in the future. (i.e. the paranoid).


On Thu, 25 Dec 1997, Norman C Rice wrote:

> On Thu, Dec 25, 1997 at 10:54:23AM -0800, Julian Elischer wrote:
> > Probably you shouldn't use partition 'c'
> > as it's special.
> > 
> > do the folowing:
> > 
> > disklabel -e -r /dev/rsd0s4
> > 
> >  (or whatever the device is called)  and add an 'a' entry that is exactly
> > like the 'c' entry, but give it a blocksize and fragsize (use disklabel to
> > look at your existing partitions for examples)  (disklabel -e will put you
> > in whatever editor is in your $EDITOR variable)  then change fstab to
> > match, and you will be 'safer' you will not need to move any data or 
> > re-newfs..
> > 'c' is special and in my new slice code is 'left out' for various reasons
> > anyhow.
> > This proceedure is very low risk (assuming you get he correct disk :-)
> > 
> > julian
> 
> [snip]
> 
> Julian,
> I am concerned about your "new slice code" as I have always used the 'c'
> slice/partition when I want to allocate an entire disk. My concern is 
> (1) Whether, upon some future upgrade, this new code will break existing
> systems which use the 'c' slice; and (2) Is your new code likely to cause
> headaches during new installs (especially for those of us who use the
> 'c' slice to allocate an entire disk)?
> 
> What does your new slice code affect?
> Why do you refer to the 'c' slice as special?
> 
> Any heads up you can give will be greatly appreciated.
> -- 
> Regards,
> Norman C. Rice, Jr.
> 




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