Re: reiser4 plugins

Christoph Hellwig
2005-06-26T16:46:17Z

On Wed, Jun 22, 2005 at 08:39:01PM -0700, Hans Reiser wrote:
> Correct me if I am wrong:
>
> What exists currently in VFS are vector instances, not classes. Plugins,
> selected by pluginids, are vector classes, with each pluginid selecting
> a vector class. You propose to have the vector class layer (aka plugin
> layer) in reiser4 export the vector instance to VFS for VFS to handle
> for each object, rather than having VFS select reiser4 and reiser4
> selecting a vector class (aka plugin) which selects a method.
>
> If we agree on the above, then I will comment further.

I'm a bit confused about what you're saying here. What does the 'vector'
in all these expressions mean?

In OO terminology our *_operation structures are interfaces. Each particular
instance of such a struct that is filled with function pointers is a class.
Each instance of an inode/file/dentry/superblock/... that uses these operation
vectors is an object.

What I propose (or rather demand ;-)) is that you don't duplicate this
infrastructure, and add another dispath layer below these objects but instead
re-use it for what it is done and only handle things specific to reiser4
in your own code.