When lqs rehashes, it will call its hs_key method. If it isn't
defined, an assert will be triggered. The patch just add it
for lqs hash.
a=johann
i=landen
i=adilger
LASSERT(hs);
LASSERT(hnode);
LASSERT(CFS_HO(hs));
+ LASSERT(CFS_HOP(hs, key));
- if (CFS_HOP(hs, key))
- return CFS_HOP(hs, key)(hnode);
-
- return NULL;
+ return CFS_HOP(hs, key)(hnode);
}
/* Returns 1 on a match,
RETURN(hash & mask);
}
+static void *
+lqs_key(cfs_hlist_node_t *hnode)
+{
+ struct lustre_qunit_size *lqs;
+ ENTRY;
+
+ lqs = cfs_hlist_entry(hnode, struct lustre_qunit_size, lqs_hash);
+ RETURN(&lqs->lqs_key);
+}
+
static int
lqs_compare(void *key, cfs_hlist_node_t *hnode)
{
static cfs_hash_ops_t lqs_hash_ops = {
.hs_hash = lqs_hash,
+ .hs_key = lqs_key,
.hs_compare = lqs_compare,
.hs_get = lqs_get,
.hs_put = lqs_put,