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