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

Ivan Voras ivoras at freebsd.org
Fri Mar 20 17:08:22 PDT 2009


Luigi Rizzo wrote:
> 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.

Not only with naming and device creation - the proxy classes cannot be
"normal" classes because it's common that "normal" classes do a lot of
initialization in .taste. (i.e. there at least needs to be a flag for
proxy classes)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 258 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20090321/dc97f518/signature.pgp


More information about the freebsd-geom mailing list