Messages in this thread | | | Date | Sun, 26 Jun 2005 16:42:35 -0700 | From | Hans Reiser <> | Subject | Re: reiser4 plugins |
| |
Christoph Hellwig wrote:
>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? > > Was your word, I thought, for the *_operation structures.
>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. > Well, that is very different from saying that we get rid of the plugin layer.
So, rather than having a hierarchy, in which we first select filesystem, and then select plugin, VFS should treat each plugin as though it was a filesystem, if I understand you. Plugins and pluginids continue to exist with the exact same functionality, we just eliminate a function dereference for the *_operation structures. Let's see how it codes up in its details.
Zam, can you work on this?
Hans - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |