summaryrefslogtreecommitdiffstats
path: root/fs/jfs
diff options
context:
space:
mode:
authorAl Viro2012-03-17 23:14:34 +0100
committerAl Viro2012-03-21 02:29:48 +0100
commit76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb (patch)
tree3408929c3dbd5ab3e765258ef000765daa1bccdd /fs/jfs
parentmake configfs_pin_fs() return root dentry on success (diff)
downloadkernel-qcow2-linux-76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb.tar.gz
kernel-qcow2-linux-76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb.tar.xz
kernel-qcow2-linux-76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb.zip
jfs: mising cleanup on register_filesystem() failure
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/jfs')
-rw-r--r--fs/jfs/super.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index b3bb95504479..4a82950f412f 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -860,8 +860,14 @@ static int __init init_jfs_fs(void)
jfs_proc_init();
#endif
- return register_filesystem(&jfs_fs_type);
+ rc = register_filesystem(&jfs_fs_type);
+ if (!rc)
+ return 0;
+#ifdef PROC_FS_JFS
+ jfs_proc_clean();
+#endif
+ kthread_stop(jfsSyncThread);
kill_committask:
for (i = 0; i < commit_threads; i++)
kthread_stop(jfsCommitThread[i]);