> >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 3. call .create for each raid device to generate a complete metadata attached to the device (struct raid_dev) 4. call .write to write metadata to each hard drive. >> >> 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? Thanks, Ying _______________________________________________ Ataraid-list mailing list Ataraid-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/ataraid-list