On Tue, Jul 05, 2016 at 08:29:37PM -0400, Oleg Drokin wrote:
> > +           /* Otherwise we just unhash it to be rehashed afresh via
> > +            * lookup if necessary
> > +            */
> > +           d_drop(dentry);
> 
> So we can even drop this part and retain the top condition as it was.
> d_add does not care if the dentry we are feeding it was hashed or not,
> so do you see any downsides to doing that I wonder?

d_add() on hashed dentry will end up reaching this:
static void __d_rehash(struct dentry * entry, struct hlist_bl_head *b)
{
        BUG_ON(!d_unhashed(entry));

Reply via email to