diff options
author | Bob Peterson <rpeterso@redhat.com> | 2015-03-16 11:02:46 -0500 |
---|---|---|
committer | Bob Peterson <rpeterso@redhat.com> | 2015-09-03 13:33:24 -0500 |
commit | 88ffbf3e037e67b52c46d528aca1618489c21f68 (patch) | |
tree | 680b7125968bc062c3569c5d6a4941415ea7ce42 /fs/gfs2/incore.h | |
parent | 15562c439d0a1850b71aa1c0d92d1f4fb9503c8d (diff) |
GFS2: Use resizable hash table for glocks
This patch changes the glock hash table from a normal hash table to
a resizable hash table, which scales better. This also simplifies
a lot of code.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r-- | fs/gfs2/incore.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 35a55f3d6d3b..e300f7419090 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -22,6 +22,7 @@ #include <linux/ktime.h> #include <linux/percpu.h> #include <linux/lockref.h> +#include <linux/rhashtable.h> #define DIO_WAIT 0x00000010 #define DIO_METADATA 0x00000020 @@ -342,7 +343,6 @@ struct gfs2_glock { gl_req:2, /* State in last dlm request */ gl_reply:8; /* Last reply from the dlm */ - unsigned int gl_hash; unsigned long gl_demote_time; /* time of first demote request */ long gl_hold_time; struct list_head gl_holders; @@ -368,7 +368,7 @@ struct gfs2_glock { loff_t end; } gl_vm; }; - struct rcu_head gl_rcu; + struct rhash_head gl_node; }; #define GFS2_MIN_LVB_SIZE 32 /* Min size of LVB that gfs2 supports */ |