Messages in this thread | | | Date | Sun, 29 May 2016 18:22:13 +0100 | From | Al Viro <> | Subject | Re: Linux 4.7-rc1 |
| |
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.
| |