-/*
- * Hash functions for qmt_pool_info management
- */
-
-static unsigned
-qpi_hash_hash(struct cfs_hash *hs, const void *key, unsigned mask)
-{
- return cfs_hash_u32_hash(*((__u32 *)key), mask);
-}
-
-static void *qpi_hash_key(struct hlist_node *hnode)
-{
- struct qmt_pool_info *pool;
- pool = hlist_entry(hnode, struct qmt_pool_info, qpi_hash);
- return &pool->qpi_key;
-}
-
-static int qpi_hash_keycmp(const void *key, struct hlist_node *hnode)
-{
- struct qmt_pool_info *pool;
- pool = hlist_entry(hnode, struct qmt_pool_info, qpi_hash);
- return pool->qpi_key == *((__u32 *)key);
-}
-
-static void *qpi_hash_object(struct hlist_node *hnode)
-{
- return hlist_entry(hnode, struct qmt_pool_info, qpi_hash);
-}
-
-static void qpi_hash_get(struct cfs_hash *hs, struct hlist_node *hnode)
-{
- struct qmt_pool_info *pool;
- pool = hlist_entry(hnode, struct qmt_pool_info, qpi_hash);
- qpi_getref(pool);
-}
-
-static void qpi_hash_put_locked(struct cfs_hash *hs, struct hlist_node *hnode)
-{
- struct qmt_pool_info *pool;
- pool = hlist_entry(hnode, struct qmt_pool_info, qpi_hash);
- qpi_putref_locked(pool);
-}
-
-static void qpi_hash_exit(struct cfs_hash *hs, struct hlist_node *hnode)
-{
- CERROR("Should not have any item left!\n");
-}
-
-/* vector of hash operations */
-static struct cfs_hash_ops qpi_hash_ops = {
- .hs_hash = qpi_hash_hash,
- .hs_key = qpi_hash_key,
- .hs_keycmp = qpi_hash_keycmp,
- .hs_object = qpi_hash_object,
- .hs_get = qpi_hash_get,
- .hs_put_locked = qpi_hash_put_locked,
- .hs_exit = qpi_hash_exit
-};
-