RFC: Project geom-events
lev at FreeBSD.org
Wed Oct 5 06:27:20 UTC 2011
You wrote 5 октября 2011 г., 9:07:16:
> It seems that you could change only geom_dev.c to get most of what you want.
> Actually, the part of your changes related to the DISCONNECT events, and
> maybe DESTROY events could be implemented in the geom_dev.
Does geom_dev knows all needed bits of information to report? It seems to me,
that it isn't.
(1) Class and name of GEOM which is affected.
(2) Name of provider which is affected.
(3) Name of underlying provider which is lost (consumer from
reporting GEOM's point of view).
(4) Resulting state of affected provider (fixable, alive, dead).
Yes, geom_dev knows name of FAILED provider, but does it knows all
other? I'm affraid -- not, or I don't understand how generic
mechanism could now, that geom_stripe could not lose components and
still be fixable, and gome_mirror could.
Additionally, some GEOM classes could throw away faulty consumers before
they disappear from geom_dev point of view.
Actually, DESTROY could be observed without my changes at all --
message from DEVFS about removing entry :) But, again, this
notification will not contain name and class of GEOM, only provider's
name (devfs entry).
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>
More information about the freebsd-geom