[PATCH 0/7] multiple-filesystems: prepare for changes to VFS locking

From: NeilBrown

Date: Mon Sep 28 2026 - 23:54:41 EST


I am working on changes to directory locking. The medium term goal is
to lift d_alloc_parallel() locking above i_rwsem, so d_alloc_paralle()
can be run unlocked, and consequently cannot be called when ->i_rwsem is
held.

This patch set makes small changes to a number of filesystems which each
require just one patch. Patch series for nfs, afs, cifs, fuse, cephfs
have been posted separately

The maint requirements are:
1/ that d_alloc_parallel() not be called while i_rwsem is held.
Places which currently do this can be changed to use d_alloc_trylock(),
or d_duplicate(), or change to drop and retake the parent lock.


2/ a dentry must not be d_drop()ed while an operation is ongoing, as an
unlocked d_alloc_parallel() would then be able to create a new
dentry with the same name. d_splice_alias() can now work with a
hash dentry, so often the d_drop() can simply be dropped. Other
tims it can be moved to after the operation has completed.

Though not strictly a requirement, the recent change to d_splice_alias()
means that there is nothing that d_add() which d_splice_alias() can do,
so it makes sense to deprecate d_add(). So d_add() calls have been changed
to d_splice_alias() in a few places.


The patches depend on patches recently added to the vfs tree. I would
prefer these land in that tree too with an Acked-by or similar from
relevant maintainers.

Thanks,
NeilBrown


[PATCH 1/7] VFS/xfs/ntfs: drop parent lock across d_alloc_parallel()
[PATCH 2/7] shmem: use d_duplicate()
[PATCH 3/7] coda: don't d_drop() early.
[PATCH 4/7] configfs: remove d_add() calls before
[PATCH 5/7] hostfs: don't d_drop() before d_splice_alias() in
[PATCH 6/7] procfs: drop parent lock for d_alloc_parallel() in
[PATCH 7/7] ovl: stop using lookup_one() in ovl_iterate().