From: Al Viro <[email protected]>

the only in-tree instance checks d_unhashed() anyway,
out-of-tree code can preserve the current behaviour by
adding such check if they want it and we get an ability
to use it in cases where we *want* to be notified of
killing being inevitable before ->d_lock is dropped,
whether it's unhashed or not.  In particular, autofs
would benefit from that.

Signed-off-by: Al Viro <[email protected]>

(cherry picked from VZ8 commit 2926620145095ffb0350b2312ac9d0af8537796f)

This patch is required for ("take the targets of /proc/*/ns/* symlinks
to separate fs") as in ns_prune_dentry it wants to unstash dentry from
ns.

https://jira.sw.ru/browse/PSBM-102357

Signed-off-by: Pavel Tikhomirov <[email protected]>
---
 fs/dcache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/dcache.c b/fs/dcache.c
index e4bdb717669e..6e3e53d95155 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -619,7 +619,7 @@ static void __dentry_kill(struct dentry *dentry)
         * inform the fs via d_prune that this dentry is about to be
         * unhashed and destroyed.
         */
-       if ((dentry->d_flags & DCACHE_OP_PRUNE) && !d_unhashed(dentry))
+       if (dentry->d_flags & DCACHE_OP_PRUNE)
                dentry->d_op->d_prune(dentry);
 
        if (dentry->d_flags & DCACHE_LRU_LIST) {
-- 
2.24.1

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to