aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2015-03-16 11:02:46 -0500
committerBob Peterson <rpeterso@redhat.com>2015-09-03 13:33:24 -0500
commit88ffbf3e037e67b52c46d528aca1618489c21f68 (patch)
tree680b7125968bc062c3569c5d6a4941415ea7ce42 /fs/gfs2/incore.h
parentGFS2: Move glock superblock pointer to field gl_name (diff)
downloadwireguard-linux-88ffbf3e037e67b52c46d528aca1618489c21f68.tar.xz
wireguard-linux-88ffbf3e037e67b52c46d528aca1618489c21f68.zip
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.h4
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 */