RFC: adding 'proxy' nodes to provider ports (with patch)

Luigi Rizzo rizzo at iet.unipi.it
Thu Mar 19 05:56:52 PDT 2009

On Thu, Mar 19, 2009 at 12:41:13PM +0100, Marius N?nnerich wrote:
> 2009/3/19 Luigi Rizzo <rizzo at iet.unipi.it>:
> > Hi,
> >
> > Fabio Checconi and I have been thinking on how to implement "proxy"
> > geom nodes, i.e. nodes that have exactly 1 provider and 1 consumer
> > port, do not do any data transformation, and can be transparently
> > inserted or removed on top of a provider port while the tree is
> > actively moving data.
> > The idea is to intercept requests coming on a provider port, pp, and
> > redirect them to a geom node acting as a proxy if the port
> > is configured in this way:
> I wonder if it's really necessary to alter the GEOM infrastructure or
> if it is possible to do this with what's there already. Just an idea:
> Lock g_topology, put g_down and g_up to sleep, alter the consumer and
> provider pointers where you need it so the everything is routed
> through your proxy class (which isn't special in any way) and restart
> g_down and g_up.

we'll look into this, thanks. If we can spare the extra fields
in the g_provider, the thing is even easier to do.

I just don't know how your suggestion interferes with the naming:
if I change the pointers, the name of a provider will not
be anymore a prefix of the name of the node attached above.
But maybe that is not an architectural requirements but just
a convenient convention.


More information about the freebsd-geom mailing list