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=/
