Re: reiser4 plugins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 26, 2005 at 09:07:00PM +0400, Artem B. Bityuckiy wrote:
> Just out of curiosity, could you please specify few exact examples with 
> specific file/function names which duplicate the existing 
> infrastructure. What do they duplicate and why? How should these 
> functions be implemented on VFS? Ho should the the other FSes 
> implement/ignore them? Why are you shure they will fit VFS well? etc.

Right now every file/inode/etc method in reiser4 is just a trivial
wrapper around a plugin call.  It should instead just set the method
table directly in the plugin initialization.  Example:

static int
reiser4_permission(struct inode *inode /* object */ ,
                   int mask,    /* mode bits to check permissions
                                 * for */
                   struct nameidata *nameidata)
{
	/* reiser4_context creation/destruction removed from here,
	   because permission checks currently don't require this.

           Permission plugin have to create context itself if necessary. */
	assert("nikita-1687", inode != NULL);

	return perm_chk(inode, mask, inode, mask);
}

besides a useless assert we just call into perm_chk, which is a macro
obsfucation to call generic_permission which would be called if
->permission was zero.  A hypothetical reiser4 "plugin" that would need
redefine ->permission would just override it in a set inode_operations.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux