Re: [PATCH 8/9] vfs: split __lookup_hash

From: Miklos Szeredi
Date: Mon Mar 26 2012 - 06:44:34 EST


On Tue, 2012-03-20 at 12:39 -0400, Christoph Hellwig wrote:
> On Tue, Mar 06, 2012 at 01:56:40PM +0100, Miklos Szeredi wrote:
> > From: Miklos Szeredi <mszeredi@xxxxxxx>
> >
> > Split __lookup_hash into two component functions:
> >
> > lookup_dcache - tries cached lookup, returns whether real lookup is needed
> > lookup_real - calls i_op->lookup
> >
> > This eliminates code duplication between d_alloc_and_lookup() and
> > d_inode_lookup().
>
> The return value from lookup_dcache is a bit confusing. What about
> returning the need_lookup flag, and passing the dentry as a parameter,
> that way the callers would do the more obvious:
>
> if (lookup_dcache(name, base, nd, &dentry))
> return dentry;
>
> instead of having to check two conditions.
>

The reason I dislike your version is that returning an error value in an
argument would be strange.

And this works too:

dentry = lookup_dcache(name, base, nd, &need_lookup);
if (!need_lookup)
return dentry;


Thanks,
Miklos

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/