Re: [PATCH 1/4] cifs: make cifs_lookup return a dentry

Al Viro <[email protected]> Sat, 22 May 2010 15:46:15 +0100
Newsgroups gmane.linux.file-systems,gmane.linux.file-systems.cifs
Message-ID <[email protected]>
On Sat, May 22, 2010 at 10:08:36AM -0400, Jeff Layton wrote:
> On Sat, 22 May 2010 14:30:51 +0100
> Al Viro <[email protected]> wrote:
> 
> > On Fri, May 21, 2010 at 02:25:14PM -0400, Jeff Layton wrote:
> > > cifs_lookup doesn't actually return a dentry. It instantiates the one
> > > that's passed in, but callers don't have any way to know if the lookup
> > > succeeded.
> > 
> > Huh?  Of course they do - ->lookup() has every right to do just that;
> > d_add() and return NULL is perfectly legitimate.
> 
> OK, bad description on my part... Is one way of doing this preferred
> over another?

Non-NULL, non ERR_PTR() strongly implies that you have found a different
dentry and tell the caller to use it instead; returning the argument (after
having cached it and bumped its refcount) will work, but it's pretty much
a deliberate obfuscation.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html