In the move to large NIDs nrs_crrn_hashfn() was missed. Update
the hash value generated to use nidhash() since our value
is much larger then 64 bits of lnet_nid_t.
Test-Parameters:trivial testlist=sanityn envdefinitions=ONLY=77b
Fixes:
36a199db2b ("LU-10391 ptlrpc: change cc_nid in nrs to be struct lnet_nid")
Change-Id: I19d7150c773db4755b3b8a18791f1411e13fe2b3
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53399
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Nikitas Angelinas <nikitas.angelinas@hpe.com>
Reviewed-by: Etienne AUJAMES <eaujames@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
*/
static u32 nrs_crrn_hashfn(const void *data, u32 len, u32 seed)
{
- const lnet_nid_t *nid = data;
+ const struct lnet_nid *nid = data;
- seed ^= cfs_hash_64((u64)nid, 32);
- return seed;
+ return cfs_hash_32(nidhash(nid) ^ seed, 32);
}
static int nrs_crrn_cmpfn(struct rhashtable_compare_arg *arg, const void *obj)