create metadata from DMRAID

Heinz Mauelshagen mauelshagen at redhat.com
Tue Jul 3 15:31:00 UTC 2007


On Mon, Jul 02, 2007 at 04:51:24PM -0700, Fang, Ying wrote:
> >
> >The data structure already exist: raid_set and raid_dev.
> >For one-level sets, a raid_set structure with multiple raid_dev
> >structures hanging off.
> >For 2-level sets (eg. RAID10), a top-level raid_set structure, multiple
> >bottom level raid_set structures hanging off it and multiple raid_dev
> >structures hanging off the bottom level ones.
> >
> >You got to check, if the properties (ie. the structure mebers) are
> >sufficient or if we need to add some.
> >
> >> Then it calls .create of an
> >> appropriate handler to build and write metadata to each hard device
> of
> >> the raid set.
> >
> >It calls a) .create and of that succeeds it'll call b) .write
> >in a followup step.
> 
> You mean the metadata creation procedure is the reverse path of building
> a raidset from metadata:
> 1. create a raid set (struct raid_set) and its subsets
> 2. create a list of raid devices for all subsets

Yes, a list of raid devices for each lowest level subset.

> 3. call .create for each raid device to generate a complete metadata
> attached to the device (struct raid_dev)

Right, that's where we got to think about needing any additional
members in structs raid_set and raid_dev in case we can't store 
enough RAID set or RAID device properties.

> 4. call .write to write metadata to each hard drive.

Correct.

> 
> 
> >>
> >> How about manual and auto rebuilding? Should updating metadata status
> be
> >> handled by DMRAID or device drivers?
> >
> >By dmraid using dmeventd, which is part of libdevmapper.
> >You got to create a dmraid DSO for dmeventd to make that happen.
> >Look at the mirror DSO for dmeventd for an example.
> >
> 
> Is it to call dm_event_handler_create, and dm_event_registered_device to
> create a dmraid DSO? I didn't find the mirror DSO. Could you give me the
> name of the file? 

It is part of liblvm2:
lib/mirror/mirror.c

Heinz

> 
> Thanks,
> Ying




More information about the Ataraid-list mailing list