Whamcloud - gitweb
LU-17203 libcfs: ignore remaining items 26/52726/6
authorAlex Zhuravlev <bzzz@whamcloud.com>
Tue, 17 Oct 2023 11:48:58 +0000 (14:48 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 8 Nov 2023 22:04:59 +0000 (22:04 +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).

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

index cd0bc77..f191e53 100644 (file)
@@ -1748,7 +1748,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);