Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 May 2000 17:46:39 +0930
From:      Greg Lehey <grog@lemis.com>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>, "Justin T. Gibbs" <gibbs@FreeBSD.ORG>
Cc:        FreeBSD-arch@FreeBSD.ORG
Subject:   Re: Support for bootable Vinum file systems: please review
Message-ID:  <20000507174638.E55316@freebie.lemis.com>
In-Reply-To: <3924.957523953@critter.freebsd.dk>
References:  <3175.957561737@critter.freebsd.dk> <200005052141.PAA58901@caspian.plutotech.com> <20000505122100.I32650@freebie.lemis.com> <3924.957523953@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday,  5 May 2000 at 12:52:33 +0200, Poul-Henning Kamp wrote:
>
>> I've been testing vinum root file systems for a couple of months now,
>> and I'd like to commit the code.  I'm attaching the patches, which you
>> can also access at http://www.FreeBSD.org/~grog/vinum-root.html.
>
> It looks good, but I think using devstat to find possible disks is
> wrong.
>
> The right way to do it is probably to link the "struct disk"s
> registered by the drivers with disk_creat() into a list which can
> be searched.

This is pretty much what struct devstat does, except that it's more
global.  Why should we maintain two lists, just because one is
primarily intended for statistics?

Anyway, I assume this isn't so much a criticism of the fix as of the
infrastructure around it.  Correct?

On Friday,  5 May 2000 at 15:41:34 -0600, Justin T. Gibbs wrote:
>> It looks good, but I think using devstat to find possible disks is
>> wrong.
>
> I agree.
>
> Another thing that is ugly about this is the kludge in the partition
> table.  I'd rather see us finally bite the bullet and move to an
> extensible disklabel scheme.

Again, may I take this as a criticism of the infrastructure rather
than the fix?

> So, in order to have a bootable vinum RAID 1 volume, your partition
> entry might look like this:
>
>
> Section 0
> Section Size XXX bytes
> Section Type BSD Parition Info
> BSD Parition Specific info ...
>
> Section 1
> Section Size XXX bytes
> Section Type Vinum Info
> Partition is Part 0 of X parts type RAID 1
> etc.
>
> Reserved Space for additional Sections
>
> Actual partition data....
>
> So, the bootstrap doesn't need to know how to interpret anything
> other than Section 0 and how to skip over other sections to find the
> start of data.  Once the kernel is loaded, a vinum interrupt driven
> configuration hook can scan all known disklabel entries for its
> sections and build its plexes on the fly.

Hmm.  I think it's a little early to discuss how to fix the current
disk label problems.  Vinum is device ID independent, and it does this
by having its own labelling scheme.  Mike Smith has already suggested
that we should develop it further and use it for generalized disk
labelling, but I hadn't planned it for that, and it's not clear that
it's suited.

> The only additional piece of magic required is stealing root away
> from the booted off partition, but I'm sure Greg has already dealt
> with that.

In fact, I didn't need to.  That's what had me worried most, but we
can now just go and tell the system which file system to mount.  I'm
sure that wasn't always the case.

Greg
--
Finger grog@lemis.com for PGP public key
See complete headers for address and phone numbers


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




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