[PATCH] ocfs2: use hlists for lockres hash
Switch from list_head to hlist_head. Make the size of the hash dependent upon the allocated area, rather than a constant. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
This commit is contained in:
@@ -37,9 +37,7 @@
|
||||
#define DLM_THREAD_SHUFFLE_INTERVAL 5 // flush everything every 5 passes
|
||||
#define DLM_THREAD_MS 200 // flush at least every 200 ms
|
||||
|
||||
#define DLM_HASH_BITS 7
|
||||
#define DLM_HASH_SIZE (1 << DLM_HASH_BITS)
|
||||
#define DLM_HASH_MASK (DLM_HASH_SIZE - 1)
|
||||
#define DLM_HASH_BUCKETS (PAGE_SIZE / sizeof(struct hlist_head))
|
||||
|
||||
enum dlm_ast_type {
|
||||
DLM_AST = 0,
|
||||
@@ -87,7 +85,7 @@ enum dlm_ctxt_state {
|
||||
struct dlm_ctxt
|
||||
{
|
||||
struct list_head list;
|
||||
struct list_head *resources;
|
||||
struct hlist_head *lockres_hash;
|
||||
struct list_head dirty_list;
|
||||
struct list_head purge_list;
|
||||
struct list_head pending_asts;
|
||||
@@ -217,7 +215,7 @@ struct dlm_lock_resource
|
||||
{
|
||||
/* WARNING: Please see the comment in dlm_init_lockres before
|
||||
* adding fields here. */
|
||||
struct list_head list;
|
||||
struct hlist_node hash_node;
|
||||
struct kref refs;
|
||||
|
||||
/* please keep these next 3 in this order
|
||||
|
Reference in New Issue
Block a user