lkml.org 
[lkml]   [2006]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] vfs: cleanup of permission()
Trond Myklebust wrote:
>>the second part is actually a hack to help nfs and fuse
>>to get the 'required' information until there is a proper
>>interface (at the vfs not inode level) to pass relevant
>>information (probably dentry/vfsmount/flags)
> The nameidata _IS_ the vfs structure for storing path context
> information. You seem to be suggesting we need yet another one. Why?

Because you can't make a nameidata without a lookup, and file based
operations don't do a lookup. However you still have the vfsmnt and
inode hanging off the file struct.

Either that or we make a dummy nameidata structure for this situation,
possibly a filehandle relative lookup as used by openat() et al.

>>>Secondly, an intent is _not_ a permissions mask by any stretch of the
>>>imagination.
>>see above
>>>IOW: at the very least make that intent flag a separate parameter.
>>IMHO it would be good to remove them completely form the
>>current permission() checks.
> Vetoed!
> Redundant RPC calls have performance costs to the client, the server and
> the network. That intent information is there in order to allow the
> filesystem to figure out whether or not it needs to do the permissions
> check, or if that check is already being done by other operations.
> Removing the intents are therefore not an option.

OK, so we either make it an extra parameter or 'properly' stack them
into a single word. Do you have any preferences either way there?

Sam.
-
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/

\
 
 \ /
  Last update: 2006-03-02 02:39    [W:0.082 / U:1.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site