[git pull] vfs.git pile 3 - dcache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxx>

----------------------------------------------------------------
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(-)



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux