summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-03-17 18:14:34 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-03-20 21:29:48 -0400
commit76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb (patch)
tree3408929c3dbd5ab3e765258ef000765daa1bccdd
parent2a152ad3a58508b06b9e0482e68117a79bbb27ce (diff)
downloadlinux-stable-76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb.tar.gz
linux-stable-76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb.tar.bz2
linux-stable-76bf09fcf76da1a2d777d9827d5a0a6a4cec0dcb.zip
jfs: mising cleanup on register_filesystem() failure
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-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]);