Hi,

Jeff Mahoney:
> Is it because the permission check is unwanted in lookup_hash (well,
> technically, lookup_one_len)?
> 
> What conditions make fput unusable?

The permission check is unrelated. Where VFS execute the check, I don't
want to skip it. If you read lookup_one_len(), you would know nameidata
passed __lookup_hash() is always NULL. And this parameter surely make
NFS branch crash.
Essentially what aufs needs is lookup_one_len() only. But it cannot be
used for NFS branch. Finally I have to call __lookup_hash() directly.

put_filp() is necessary to support 'atomic open' in NFSv4.
When an error happened after the file is opened internally, aufs has to
close it. If aufs called fput() instead of put_filp(), many unnecessary
and unwanted functions would be called.

Do I make it clear?


Junjiro R. Okajima

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

Reply via email to