Subject: Re: Logical Volume Managers
To: Bill Studenmund <wrstuden@zembu.com>
From: Christian Limpach <chris@Nice.CH>
List: tech-kern
Date: 07/04/2000 23:35:58
> I think part of the problem is that you've been loking at pseudo devices,
> which have more relaxed rules than real devices. "Real" device softc's
> start with a struct device, and also know who their parent is, which is
> also a struct device. All the way up to the root device. "Real" device
> softc's are generated by the autoconfig system when each device is found.
>
> Given that, the best way to do what we've been describing would be to add
> something like a device "pseudo" which lives off of the config root. Then
> have vg* attach at pseudo?, and your lv* attach at vg? .
>
> Your vg-configuring code would then attach a vg onto the "pseudo" device.
> Well, tell code in the "pseudo" driver that you found one of these here
> devices (a "vg"), and it sould attach it. I guess look at how pcmcia &
> such find & detach things.

This sounds good, althouth I would add another device-level called lvm,
either at pseudo or at the config root.  lvm0 would be configured at boot
time and then I could ioctl lvm to allocate a new vg, then initialize this
vg and ioctl it to allocate new lv's.  This way pseudo doesn't need to know
about vg's and how to allocate them.

But this also raises some more questions:
- why don't ccd, vnd and raidframe use this system?  They are very similar
to lvm when it comes to resources used and resources provided.  Would it
make sense to convert them to use the same system?  If not, why use a
different system for lvm?
- shouldn't a vg attach to the partitions it uses for storage?  let me
explain this wrt to ccd, since people are more familiar with ccd's:
a ccd using /dev/wd1e, /dev/wd2e and /dev/wd3e would attach to the wd1e,
wd2e and wd3e devices.  This raises the following question:
- shouldn't a partition be a device?  wd1a attaches to wd1, wd1b attaches to
wd1 and so on.

     christian