[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <YurA3aSb4GRr4wlW@ZenIV>
Date: Wed, 3 Aug 2022 19:39:25 +0100
From: Al Viro <viro@...iv.linux.org.uk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: [git pull] vfs.git pile 3 - dcache
The following changes since commit b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3:
Linux 5.19-rc2 (2022-06-12 16:11:37 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-work.dcache
for you to fetch changes up to 50417d22d0efbb1be76c3cb66b2329f83741c9c7:
fs/dcache: Move wakeup out of i_seq_dir write held region. (2022-07-30 00:38:16 -0400)
----------------------------------------------------------------
Main part here is making parallel lookups safe for RT - making
sure preemption is disabled in start_dir_add()/ end_dir_add() sections (on
non-RT it's automatic, on RT it needs to to be done explicitly) and moving
wakeups from __d_lookup_done() inside of such to the end of those sections.
Wakeups can be safely delayed for as long as ->d_lock on in-lookup
dentry is held; proving that has caught a bug in d_add_ci() that allows
memory corruption when sufficiently bogus ntfs (or case-insensitive xfs)
image is mounted. Easily fixed, fortunately.
Signed-off-by: Al Viro <viro@...iv.linux.org.uk>
----------------------------------------------------------------
Al Viro (1):
d_add_ci(): make sure we don't miss d_lookup_done()
Sebastian Andrzej Siewior (3):
fs/dcache: Disable preemption on i_dir_seq write side on PREEMPT_RT
fs/dcache: Move the wakeup from __d_lookup_done() to the caller.
fs/dcache: Move wakeup out of i_seq_dir write held region.
fs/dcache.c | 54 ++++++++++++++++++++++++++++++++++++++++----------
include/linux/dcache.h | 9 +++------
2 files changed, 46 insertions(+), 17 deletions(-)
Powered by blists - more mailing lists