diff options
Diffstat (limited to 'fs/gfs2/main.c')
-rw-r--r-- | fs/gfs2/main.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c index bb2cc303ac29..7cacfde32194 100644 --- a/fs/gfs2/main.c +++ b/fs/gfs2/main.c | |||
@@ -19,7 +19,7 @@ | |||
19 | 19 | ||
20 | #include "gfs2.h" | 20 | #include "gfs2.h" |
21 | #include "incore.h" | 21 | #include "incore.h" |
22 | #include "ops_fstype.h" | 22 | #include "super.h" |
23 | #include "sys.h" | 23 | #include "sys.h" |
24 | #include "util.h" | 24 | #include "util.h" |
25 | #include "glock.h" | 25 | #include "glock.h" |
@@ -30,6 +30,7 @@ static void gfs2_init_inode_once(void *foo) | |||
30 | 30 | ||
31 | inode_init_once(&ip->i_inode); | 31 | inode_init_once(&ip->i_inode); |
32 | init_rwsem(&ip->i_rw_mutex); | 32 | init_rwsem(&ip->i_rw_mutex); |
33 | INIT_LIST_HEAD(&ip->i_trunc_list); | ||
33 | ip->i_alloc = NULL; | 34 | ip->i_alloc = NULL; |
34 | } | 35 | } |
35 | 36 | ||
@@ -42,7 +43,7 @@ static void gfs2_init_glock_once(void *foo) | |||
42 | INIT_LIST_HEAD(&gl->gl_holders); | 43 | INIT_LIST_HEAD(&gl->gl_holders); |
43 | gl->gl_lvb = NULL; | 44 | gl->gl_lvb = NULL; |
44 | atomic_set(&gl->gl_lvb_count, 0); | 45 | atomic_set(&gl->gl_lvb_count, 0); |
45 | INIT_LIST_HEAD(&gl->gl_reclaim); | 46 | INIT_LIST_HEAD(&gl->gl_lru); |
46 | INIT_LIST_HEAD(&gl->gl_ail_list); | 47 | INIT_LIST_HEAD(&gl->gl_ail_list); |
47 | atomic_set(&gl->gl_ail_count, 0); | 48 | atomic_set(&gl->gl_ail_count, 0); |
48 | } | 49 | } |
@@ -93,6 +94,12 @@ static int __init init_gfs2_fs(void) | |||
93 | if (!gfs2_rgrpd_cachep) | 94 | if (!gfs2_rgrpd_cachep) |
94 | goto fail; | 95 | goto fail; |
95 | 96 | ||
97 | gfs2_quotad_cachep = kmem_cache_create("gfs2_quotad", | ||
98 | sizeof(struct gfs2_quota_data), | ||
99 | 0, 0, NULL); | ||
100 | if (!gfs2_quotad_cachep) | ||
101 | goto fail; | ||
102 | |||
96 | error = register_filesystem(&gfs2_fs_type); | 103 | error = register_filesystem(&gfs2_fs_type); |
97 | if (error) | 104 | if (error) |
98 | goto fail; | 105 | goto fail; |
@@ -112,6 +119,9 @@ fail_unregister: | |||
112 | fail: | 119 | fail: |
113 | gfs2_glock_exit(); | 120 | gfs2_glock_exit(); |
114 | 121 | ||
122 | if (gfs2_quotad_cachep) | ||
123 | kmem_cache_destroy(gfs2_quotad_cachep); | ||
124 | |||
115 | if (gfs2_rgrpd_cachep) | 125 | if (gfs2_rgrpd_cachep) |
116 | kmem_cache_destroy(gfs2_rgrpd_cachep); | 126 | kmem_cache_destroy(gfs2_rgrpd_cachep); |
117 | 127 | ||
@@ -140,6 +150,7 @@ static void __exit exit_gfs2_fs(void) | |||
140 | unregister_filesystem(&gfs2_fs_type); | 150 | unregister_filesystem(&gfs2_fs_type); |
141 | unregister_filesystem(&gfs2meta_fs_type); | 151 | unregister_filesystem(&gfs2meta_fs_type); |
142 | 152 | ||
153 | kmem_cache_destroy(gfs2_quotad_cachep); | ||
143 | kmem_cache_destroy(gfs2_rgrpd_cachep); | 154 | kmem_cache_destroy(gfs2_rgrpd_cachep); |
144 | kmem_cache_destroy(gfs2_bufdata_cachep); | 155 | kmem_cache_destroy(gfs2_bufdata_cachep); |
145 | kmem_cache_destroy(gfs2_inode_cachep); | 156 | kmem_cache_destroy(gfs2_inode_cachep); |