From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: dcache shrink list corruption? Date: Tue, 29 Apr 2014 19:16:10 +0100 Message-ID: <20140429181610.GJ18016@ZenIV.linux.org.uk> References: <20140429160139.GA3113@tucsk.piliscsaba.szeredi.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Linus Torvalds , Linux Kernel Mailing List , linux-fsdevel To: Miklos Szeredi Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Apr 29, 2014 at 08:03:24PM +0200, Miklos Szeredi wrote: > Introducing a new per-sb lock should be OK. > > Another idea, which could have subtler effects, is simply not to kill > a dentry that is on the shrink list (indicated by > DCACHE_SHRINK_LIST), since it's bound to get killed anyway. But > that's a change in behaviour... Umm... You mean, if final dput() finds dentry already on shrink list, just leave it there and return? Might get really painful - the code that knows it's holding the last reference to already unhashed dentry might get a nasty surprise when dput() returns before it's killed off.