From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [62.89.141.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF87F390999; Tue, 28 Apr 2026 02:22:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=62.89.141.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777342964; cv=none; b=LtQX4Bt3F4erW9vWPLlhg8BaSxgTf1dRQrFkdedeNLenKqgBXNVip3wON5pCRhupefAfLX9pS4zuJGPNm+5+Sl8KEr37jWM9zN7gCxmUnVRKC+/y2igqAm82HY6/M960zwzEvKT6xQIZoSdTwDFf45lDaojalXmVc8fA4iRVYas= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777342964; c=relaxed/simple; bh=UCia1IcO0LRuZrQweVktWn+d4QaePflZAJFonZxyAN8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=TX+CPCkLl99pk3i7/oOMo0UMriRMTlaxndtvIqpMdlqNIFegZOCoKrPtK24Hou5nlekp+bO4cejoCXNpChCk2Nx5E5QUY4lufaeBGC/r2LQY1Q6gw07tULnXtLYPNjlvgtZUb0rjUUMBFIoJk8yPOets6p9ssZc3nLaqvxs+REM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zeniv.linux.org.uk; spf=none smtp.mailfrom=ftp.linux.org.uk; dkim=pass (2048-bit key) header.d=linux.org.uk header.i=@linux.org.uk header.b=mjXWv6r2; arc=none smtp.client-ip=62.89.141.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zeniv.linux.org.uk Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ftp.linux.org.uk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linux.org.uk header.i=@linux.org.uk header.b="mjXWv6r2" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=kpIAu5jYgeVlU8I7a3oFm2SUIDSJX80p3CvY1ihlZAw=; b=mjXWv6r2BpSV5QXli0cB0CekDG KHSTq5SWdr/mnwvVKRLP4FH4d6acXHrP/21X+qkLP25zkw/NK+cwXydC69S8skiEtFseLSZbf49HQ PzkWog0crr1xHWLwzeySMXCnqyvsrh7ZjvunTchVCaUEQVN80TdApjY6B57WhSW21eoJrAtrmMbrc jjR08ac3xIgeoJyGNR1wsYGeMDjXO8bRYt3QUn/Snf+XqUmzWGA+Txdu30gb1totyjUjKqBrz8i/q yqJonmaGtBQZ9nUmaag4EhxCWLpvADpVfbJNibP78xM7HAoS39JSvLxHB6QXUvnBlNCJaFSY2oi32 2QqCqxyQ==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.99.1 #2 (Red Hat Linux)) id 1wHY61-0000000FyCX-3SbI; Tue, 28 Apr 2026 02:22:45 +0000 Date: Tue, 28 Apr 2026 03:22:45 +0100 From: Al Viro To: NeilBrown Cc: Linus Torvalds , Christian Brauner , Jan Kara , Jeff Layton , Trond Myklebust , Anna Schumaker , Miklos Szeredi , Amir Goldstein , Jeremy Kerr , Ard Biesheuvel , linux-efi@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-unionfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 05/19] VFS: introduce d_alloc_noblock() Message-ID: <20260428022245.GU3518998@ZenIV> References: <20260427040517.828226-1-neilb@ownmail.net> <20260427040517.828226-6-neilb@ownmail.net> Precedence: bulk X-Mailing-List: linux-efi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260427040517.828226-6-neilb@ownmail.net> Sender: Al Viro On Mon, Apr 27, 2026 at 02:01:23PM +1000, NeilBrown wrote: > From: NeilBrown > > Several filesystems use the results of readdir to prime the dcache. > These filesystems use d_alloc_parallel() which can block if there is a > concurrent lookup. Blocking in that case is pointless as the lookup > will add info to the dcache and there is no value in the readdir waiting > to see if it should add the info too. ... except that there is - large part of the reasons for that in the original user (procfs) is that we want getdents() + open() + fstat() + compare ->st_ino from fstat() with ->d_ino from getdents() to work, even if you race with lookup from another process coming in the middle of your getdents(). What are your plans in that area?