Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752142AbdFOKvB (ORCPT ); Thu, 15 Jun 2017 06:51:01 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:37990 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751016AbdFOKvA (ORCPT ); Thu, 15 Jun 2017 06:51:00 -0400 Date: Thu, 15 Jun 2017 11:50:58 +0100 From: Al Viro To: Khazhismel Kumykov Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Miklos Szeredi Subject: Re: Hang/soft lockup in d_invalidate with simultaneous calls Message-ID: <20170615105058.GK31671@ZenIV.linux.org.uk> References: <20170603011241.GH6365@ZenIV.linux.org.uk> <20170603062009.GI6365@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 847 Lines: 15 On Mon, Jun 12, 2017 at 04:00:45PM -0700, Khazhismel Kumykov wrote: > On Fri, Jun 2, 2017 at 11:47 PM, Khazhismel Kumykov wrote: > > On Fri, Jun 2, 2017 at 11:20 PM, Al Viro wrote: > >> The thing is, unlike shrink_dcache_parent() we *can* bugger off as > >> soon as we'd found no victims, nothing mounted and dentry itself > >> is unhashed. We can't do anything in select_collect() (we would've > >> broken shrink_dcache_parent() that way), but we can do unhashing > >> in check_and_drop() in "really nothing to do" case and we can return > >> from d_invalidate() after that. So how about this: > > That does the trick. > > I'm not entirely familiar the process here, is the above change > committed somewhere, should I propose a patch? Sorry, got distracted by other stuff; I'll push that today.