Whamcloud - gitweb
LU-17203 libcfs: ignore remaining items
authorAlex Zhuravlev <bzzz@whamcloud.com>
Tue, 17 Oct 2023 11:48:58 +0000 (14:48 +0300)
committerAndreas Dilger <adilger@whamcloud.com>
Thu, 14 Dec 2023 13:56:44 +0000 (13:56 +0000)
remove the assertion checking libcfs hashtable for emptiness
in cfs_hash_for_each_empty(). the only user of this hashtable
is per-export ldlm locks set. in this case it's legal that
some locks can't be removed from the hashtable being in the
process of enqueuing. the hashtable is destroyed from the
export destroy function which in turn is called only when all
RPCs on this export are done (exp_rpc_count==0).

Lustre-change: https://review.whamcloud.com/52726
Lustre-commit: f2f8b6deaf54f1a264b31b44f6cf875fa1629ab2

Fixes: 306a9b666e ("LU-16272 libcfs: cfs_hash_for_each_empty optimization")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I2b853b017bb7247a0c60cc8f464c2e08d649f0eb
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/53404
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
libcfs/libcfs/hash.c

index 5df1505..df7ea82 100644 (file)
@@ -1749,7 +1749,6 @@ cfs_hash_for_each_empty(struct cfs_hash *hs,
                       hs->hs_name, i++);
        }
        cfs_hash_for_each_exit(hs);
-       LASSERT(atomic_read(&hs->hs_count) == 0);
        RETURN(0);
 }
 EXPORT_SYMBOL(cfs_hash_for_each_empty);