GEOM pseudo-RAID controller support direction?

Boris Kochergin spawk at acm.poly.edu
Thu Jun 10 00:02:32 UTC 2010


Hi. As I've mentioned before, I've been working on reimplementing 
ataraid functionality in GEOM, and am getting the hang of it. I have a 
module, geom_pseudoraid, that implements minimalist RAID-1 support for 
VIA pseudo-RAID controllers (code is at 
http://acm.poly.edu/~spawk/geom_pseudoraid.tbz). It is very much a work 
in progress and is missing a lot of features and error-handling. 
Nevertheless, I felt it better to ask the following sooner than later:

1. I know that work on this would ideally include separating various 
RAID transformations out of GEOM modules and using them as libraries of 
sorts, but my axe isn't sharp enough for that yet. Is this considered 
useful despite that?

2. As has been mentioned, geom_mirror, geom_stripe, and geom_concat are 
excellent candidates for including pseudo-RAID controller support into, 
at the cost of complicating them somewhat. I can say that it would be a 
lot easier for me to, for example, teach geom_mirror about various 
vendor metadata formats than to add all of geom_mirror's robustness into 
my code, and I would prefer such a route. I suspect this would require a 
degree of cooperation from Pawel, as the modules mentioned are his code.

3. Thinking ahead quite a bit, my code currently names providers as 
/dev/pseudoraid/[vendor][unit]. For example, the provider on my 
development machine is /dev/pseudoraid/via0. Though this seems to be the 
GEOM convention, it's also a POLA violation, as the ataraid code names 
things /dev/ar[unit]. Any thoughts on how providers should be named?

Thanks.

-Boris


More information about the freebsd-geom mailing list