dlm: convert rsb list to rb_tree
[linux-2.6-block.git] / fs / dlm / dlm_internal.h
index fe2860c024495d4ca270f75a453caf1c8148bf58..5685a9a5dba21b21ca9e7b4b5302b7a88cc0737a 100644 (file)
@@ -103,8 +103,8 @@ struct dlm_dirtable {
 };
 
 struct dlm_rsbtable {
-       struct list_head        list;
-       struct list_head        toss;
+       struct rb_root          keep;
+       struct rb_root          toss;
        spinlock_t              lock;
 };
 
@@ -285,7 +285,10 @@ struct dlm_rsb {
        unsigned long           res_toss_time;
        uint32_t                res_first_lkid;
        struct list_head        res_lookup;     /* lkbs waiting on first */
-       struct list_head        res_hashchain;  /* rsbtbl */
+       union {
+               struct list_head        res_hashchain;
+               struct rb_node          res_hashnode;   /* rsbtbl */
+       };
        struct list_head        res_grantqueue;
        struct list_head        res_convertqueue;
        struct list_head        res_waitqueue;