Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Mar 2009 01:57:39 +0100
From:      =?ISO-8859-1?Q?Marius_N=FCnnerich?= <marius@nuenneri.ch>
To:        Ivan Voras <ivoras@freebsd.org>
Cc:        freebsd-geom@freebsd.org
Subject:   Re: RFC: adding 'proxy' nodes to provider ports (with patch)
Message-ID:  <b649e5e0903201757s7189890as69ba839042dea83c@mail.gmail.com>
In-Reply-To: <gq1975$p1k$1@ger.gmane.org>
References:  <20090319081936.GA32750@onelab2.iet.unipi.it> <b649e5e0903190441m2d511107qd95cb3cd566b11f7@mail.gmail.com> <20090319130137.GB40489__3492.42561865157$1237467521$gmane$org@onelab2.iet.unipi.it> <gq1975$p1k$1@ger.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Mar 21, 2009 at 00:34, Ivan Voras <ivoras@freebsd.org> wrote:
> Luigi Rizzo wrote:
>> On Thu, Mar 19, 2009 at 12:41:13PM +0100, Marius N?nnerich wrote:
>>> 2009/3/19 Luigi Rizzo <rizzo@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)

Take a look at geom_nop, it doesn't taste. It is like a proxy already
as far as I can see. I don't know what to do about the naming though.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b649e5e0903201757s7189890as69ba839042dea83c>