aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jfs')
-rw-r--r--fs/jfs/super.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index d9b0e92b3602..3eb13adf3862 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -183,6 +183,9 @@ static void jfs_put_super(struct super_block *sb)
183 int rc; 183 int rc;
184 184
185 jfs_info("In jfs_put_super"); 185 jfs_info("In jfs_put_super");
186
187 lock_kernel();
188
186 rc = jfs_umount(sb); 189 rc = jfs_umount(sb);
187 if (rc) 190 if (rc)
188 jfs_err("jfs_umount failed with return code %d", rc); 191 jfs_err("jfs_umount failed with return code %d", rc);
@@ -195,6 +198,8 @@ static void jfs_put_super(struct super_block *sb)
195 sbi->direct_inode = NULL; 198 sbi->direct_inode = NULL;
196 199
197 kfree(sbi); 200 kfree(sbi);
201
202 unlock_kernel();
198} 203}
199 204
200enum { 205enum {