vfs: document d_dispose_if_unused()

Add a warning about the danger of using this function without proper
locking preventing eviction.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Link: https://patch.msgid.link/20260114145344.468856-7-mszeredi@redhat.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Miklos Szeredi 2026-01-14 15:53:43 +01:00 committed by Christian Brauner
parent fa79401a9c
commit 79d11311f6
No known key found for this signature in database
GPG key ID: 91C61BC06578DCA2

View file

@ -1104,6 +1104,16 @@ struct dentry *d_find_alias_rcu(struct inode *inode)
return de;
}
/**
* d_dispose_if_unused - move unreferenced dentries to shrink list
* @dentry: dentry in question
* @dispose: head of shrink list
*
* If dentry has no external references, move it to shrink list.
*
* NOTE!!! The caller is responsible for preventing eviction of the dentry by
* holding dentry->d_inode->i_lock or equivalent.
*/
void d_dispose_if_unused(struct dentry *dentry, struct list_head *dispose)
{
spin_lock(&dentry->d_lock);