]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/ocfs2/dlm/dlmcommon.h
ocfs2/dlm: Create and destroy the dlm->master_hash
[mv-sheeva.git] / fs / ocfs2 / dlm / dlmcommon.h
index b232aa0b334505acea1eaf7602056ef65fd3c64d..425653f88e98840fffebaa064c582cc87b1f5555 100644 (file)
@@ -151,6 +151,7 @@ struct dlm_ctxt
        unsigned long recovery_map[BITS_TO_LONGS(O2NM_MAX_NODES)];
        struct dlm_recovery_ctxt reco;
        spinlock_t master_lock;
+       struct hlist_head **master_hash;
        struct list_head master_list;
        struct list_head mle_hb_events;
 
@@ -195,6 +196,13 @@ static inline struct hlist_head *dlm_lockres_hash(struct dlm_ctxt *dlm, unsigned
        return dlm->lockres_hash[(i / DLM_BUCKETS_PER_PAGE) % DLM_HASH_PAGES] + (i % DLM_BUCKETS_PER_PAGE);
 }
 
+static inline struct hlist_head *dlm_master_hash(struct dlm_ctxt *dlm,
+                                                unsigned i)
+{
+       return dlm->master_hash[(i / DLM_BUCKETS_PER_PAGE) % DLM_HASH_PAGES] +
+                       (i % DLM_BUCKETS_PER_PAGE);
+}
+
 /* these keventd work queue items are for less-frequently
  * called functions that cannot be directly called from the
  * net message handlers for some reason, usually because