Whamcloud - gitweb
LU-17696 llite: remove LASSERT from ll_ddelete()
authorJian Yu <yujian@whamcloud.com>
Fri, 5 Apr 2024 08:37:03 +0000 (01:37 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Sun, 7 Apr 2024 19:14:51 +0000 (19:14 +0000)
commitaaec1c8bf1332b6c9fe4898beb8d93a856e9a9f1
treecd72dc3be8e1dd77dd21617b0759b90acc7c9815
parentc1585822463f1011b440cad063189d6778342756
LU-17696 llite: remove LASSERT from ll_ddelete()

On Linux kernel 6.8, the changes in commit 2f42f1eb9093
("Call retain_dentry() with refcount 0") made d_delete()
instances called for dentries with ->d_lock held and
refcount equal to 0, which caused the following assertion
failure on Lustre client:

(dcache.c:136:ll_ddelete()) ASSERTION( d_count(de) == 1 ) failed

The value of d_count(de) became 0 instead of 1. Since
retain_dentry() was called either with refcount 0 or 1,
we can simply remove the LASSERT(ll_d_count(de) == 1)
from ll_ddelete() to avoid the above failure.

Lustre-change: https://review.whamcloud.com/54676
Lustre-commit: TBD (from 50bd3822d2977cd45e56521d137aec2ce5829529)

Change-Id: Ic4a39d9328326634190cd0719b4c0637e1bf315c
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/54679
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/llite/dcache.c