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

Luigi Rizzo rizzo at iet.unipi.it
Thu Mar 19 04:17:08 PDT 2009

On Thu, Mar 19, 2009 at 10:45:05AM +0100, Pawel Jakub Dawidek wrote:
> On Thu, Mar 19, 2009 at 09:19:36AM +0100, Luigi Rizzo wrote:
> The one advantage I see for this over using regular GEOM rules is that
> new consumers go through proxy automatically. When I was working on
> similar functionality I more wanted to do something like this:
> consumer1   consumer2
>     \          /
>      \        /
>       provider
> Insert the proxy in the middle of any provider-consumer pair:
> consumer1      consumer2
>     |             |
> proxy_provider    |
>     |            /
> proxy_consumer  /
>       \        /
>        provider

ok this is slightly different from what we have implemented,
as we hook into the provider whereas you hook into the consumer.

In our case we really need the hook to be in the provider so
it intercepts accesses from all consumers, e.g. from /dev/ad0
and from the filesystems mounted on top of it. Given that the
geom_disk node does not have a consumer on the bottom, we cannot
do it differently.

I can imagine that one might want to attach a proxy to a consumer
port, but I cannot make a specific case where this would be needed.
Also, I wonder how do i name a consumer port in the geom model ??


More information about the freebsd-geom mailing list