[PATCH v2 0/3] smb/client(cifs): prepare for VFS locking changes.
From: NeilBrown
Date: Mon Sep 28 2026 - 22:45:21 EST
The previous version of this series had a couple of problems reported by sashiko,
both in 2/3.
1/ an error from cifs_lookup() wasn't handled properly - it should be fatal
2/ The d_is_positive() tested the wrong dentry.
Original intro message below.
Thanks,
NeilBrown
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.
The requires:
1/ that d_alloc_parallel() not be called while i_rwsem is held. cifs
does this in a couple of places. A new interface d_alloc_trylock()
is now available and can be used instead.
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. In particular d_rehash() must be phased
out as it won't be safe. This particularly affects the mechanism to
block lookups/revalidates while an unlink/rename is happening. The
mechanism is changed to use one similar to how NFS addresses this
needed, though using the new LOOKUP_PRIVATE flag.
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 cifs
maintainers.
Thanks,
NeilBrown
[PATCH v2 1/3] smb/client: don't unhash and rehash to prevent new
[PATCH v2 2/3] smb/client: use d_alloc_trylock in
[PATCH v2 3/3] smb/client: Use d_alloc_trylock() in