[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160706032055.GQ14480@ZenIV.linux.org.uk>
Date: Wed, 6 Jul 2016 04:20:55 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Oleg Drokin <green@...uxhacker.ru>
Cc: Mailing List <linux-kernel@...r.kernel.org>,
"<linux-fsdevel@...r.kernel.org>" <linux-fsdevel@...r.kernel.org>
Subject: Re: More parallel atomic_open/d_splice_alias fun with NFS and
possibly more FSes.
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));
Powered by blists - more mailing lists