]> git.ipfire.org Git - thirdparty/linux.git/commit
libfs: add stashed_dentry_prune()
authorChristian Brauner <brauner@kernel.org>
Wed, 21 Feb 2024 08:59:51 +0000 (09:59 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 1 Mar 2024 11:26:29 +0000 (12:26 +0100)
commit2558e3b23112adb82a558bab616890a790a38bc6
tree89ce523bb85eab34592d8d859469858e90f9ef8f
parent159a0d9fd50b92cc48e4c82cde79c4cb34c85953
libfs: add stashed_dentry_prune()

Both pidfs and nsfs use a memory location to stash a dentry for reuse by
concurrent openers. Right now two custom
dentry->d_prune::{ns,pidfs}_prune_dentry() methods are needed that do
the same thing. The only thing that differs is that they need to get to
the memory location to store or retrieve the dentry from differently.
Fix that by remember the stashing location for the dentry in
dentry->d_fsdata which allows us to retrieve it in dentry->d_prune. That
in turn makes it possible to add a common helper that pidfs and nsfs can
both use.

Link: https://lore.kernel.org/r/CAHk-=wg8cHY=i3m6RnXQ2Y2W8psicKWQEZq1=94ivUiviM-0OA@mail.gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/internal.h
fs/libfs.c
fs/nsfs.c
fs/pidfs.c