From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964777AbcE2RWR (ORCPT ); Sun, 29 May 2016 13:22:17 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:60502 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932315AbcE2RWQ (ORCPT ); Sun, 29 May 2016 13:22:16 -0400 Date: Sun, 29 May 2016 18:22:13 +0100 From: Al Viro To: Linus Torvalds Cc: Linux Kernel Mailing List Subject: Re: Linux 4.7-rc1 Message-ID: <20160529172213.GY14480@ZenIV.linux.org.uk> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, May 29, 2016 at 10:00:25AM -0700, Linus Torvalds wrote: > Anyway, enough blathering. Go out and test. And in particular, if > you're a low-level filesystem person, or involved in other ways in > path component lookup (security layer etc), go check that everything > looks ok, and if your filesystem isn't one that does parallel lookups > or readdirs yet (because locking issues), take a look at that too. Um... Unlike readdir, which is an opt-in precisely because more state is involved, lookups are *not* - they are not even opt-out. They are done in parallel with each other, period. Out-of-tree filesystems will need to audit their ->lookup() instances, of course, but everything in-tree should be finished in that respect. lookup/lookup has only one kind of exclusion - no lookups on the same name in the same directory happening in parallel. lookup/(directory modifiers) is still there, of course. So is readdir/modifiers and modifiers/modifiers. What is fs-dependent (for now) is lookup/readdir and readdir/readdir. The latter has per-struct-file exclusion in all cases; if we are using ->iterate_shared(), that's all there is. If ->iterate() is still being used, we get lookup/readdir and readdir/readdir exclusion, as we used to.