aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/main.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-09-07 14:40:21 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-09-07 14:40:21 -0400
commit85d1da67f7e1239afa3494d05be87da6fc3ecada (patch)
tree01508570249764d8b0e38183e1ea7e9666b34b78 /fs/gfs2/main.c
parentb8547856f9c158ff70effbcfd15969c908fbe1b3 (diff)
[GFS2] Move glock hash table out of superblock
There are several reasons why we want to do this: - Firstly its large and thus we'll scale better with multiple GFS2 fs mounted at the same time - Secondly its easier to scale its size as required (thats a plan for later patches) - Thirdly, we can use kzalloc rather than vmalloc when allocating the superblock (its now only 4888 bytes) - Fourth its all part of my plan to eventually be able to use RCU with the glock hash. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/main.c')
-rw-r--r--fs/gfs2/main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
index 143fda727a9c..2bdf246436c7 100644
--- a/fs/gfs2/main.c
+++ b/fs/gfs2/main.c
@@ -23,6 +23,7 @@
23#include "ops_fstype.h" 23#include "ops_fstype.h"
24#include "sys.h" 24#include "sys.h"
25#include "util.h" 25#include "util.h"
26#include "glock.h"
26 27
27static void gfs2_init_inode_once(void *foo, kmem_cache_t *cachep, unsigned long flags) 28static void gfs2_init_inode_once(void *foo, kmem_cache_t *cachep, unsigned long flags)
28{ 29{
@@ -69,8 +70,11 @@ static int __init init_gfs2_fs(void)
69 if (error) 70 if (error)
70 return error; 71 return error;
71 72
72 error = -ENOMEM; 73 error = gfs2_glock_init();
74 if (error)
75 goto fail;
73 76
77 error = -ENOMEM;
74 gfs2_glock_cachep = kmem_cache_create("gfs2_glock", 78 gfs2_glock_cachep = kmem_cache_create("gfs2_glock",
75 sizeof(struct gfs2_glock), 79 sizeof(struct gfs2_glock),
76 0, 0, 80 0, 0,