diff options
Diffstat (limited to 'fs/ocfs2/super.c')
-rw-r--r-- | fs/ocfs2/super.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 7bb83e41581e..60f1d29421ad 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c | |||
@@ -1107,11 +1107,16 @@ static int __init ocfs2_init(void) | |||
1107 | mlog(ML_ERROR, "Unable to create ocfs2 debugfs root.\n"); | 1107 | mlog(ML_ERROR, "Unable to create ocfs2 debugfs root.\n"); |
1108 | } | 1108 | } |
1109 | 1109 | ||
1110 | status = ocfs2_quota_setup(); | ||
1111 | if (status) | ||
1112 | goto leave; | ||
1113 | |||
1110 | ocfs2_set_locking_protocol(); | 1114 | ocfs2_set_locking_protocol(); |
1111 | 1115 | ||
1112 | status = register_quota_format(&ocfs2_quota_format); | 1116 | status = register_quota_format(&ocfs2_quota_format); |
1113 | leave: | 1117 | leave: |
1114 | if (status < 0) { | 1118 | if (status < 0) { |
1119 | ocfs2_quota_shutdown(); | ||
1115 | ocfs2_free_mem_caches(); | 1120 | ocfs2_free_mem_caches(); |
1116 | exit_ocfs2_uptodate_cache(); | 1121 | exit_ocfs2_uptodate_cache(); |
1117 | } | 1122 | } |
@@ -1128,6 +1133,8 @@ static void __exit ocfs2_exit(void) | |||
1128 | { | 1133 | { |
1129 | mlog_entry_void(); | 1134 | mlog_entry_void(); |
1130 | 1135 | ||
1136 | ocfs2_quota_shutdown(); | ||
1137 | |||
1131 | if (ocfs2_wq) { | 1138 | if (ocfs2_wq) { |
1132 | flush_workqueue(ocfs2_wq); | 1139 | flush_workqueue(ocfs2_wq); |
1133 | destroy_workqueue(ocfs2_wq); | 1140 | destroy_workqueue(ocfs2_wq); |