summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2010-08-29 01:55:38 +0900
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2010-08-30 10:18:03 +0900
commit4afc31345e5f543e5d89a47aeadaaad1d91a5bc8 (patch)
tree698cd37b9f285343e2c309a897d566501760bb9f /fs
parent2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff)
downloadlinux-4afc31345e5f543e5d89a47aeadaaad1d91a5bc8.tar.gz
linux-4afc31345e5f543e5d89a47aeadaaad1d91a5bc8.tar.bz2
linux-4afc31345e5f543e5d89a47aeadaaad1d91a5bc8.zip
nilfs2: fix leak of shadow dat inode in error path of load_nilfs
If load_nilfs() gets an error while doing recovery, it will fail to free the shadow inode of dat (nilfs->ns_gc_dat). This fixes the leak issue. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Diffstat (limited to 'fs')
-rw-r--r--fs/nilfs2/the_nilfs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c
index 4317f177ea7c..ba7c10c917fc 100644
--- a/fs/nilfs2/the_nilfs.c
+++ b/fs/nilfs2/the_nilfs.c
@@ -446,6 +446,7 @@ int load_nilfs(struct the_nilfs *nilfs, struct nilfs_sb_info *sbi)
nilfs_mdt_destroy(nilfs->ns_cpfile);
nilfs_mdt_destroy(nilfs->ns_sufile);
nilfs_mdt_destroy(nilfs->ns_dat);
+ nilfs_mdt_destroy(nilfs->ns_gc_dat);
failed:
nilfs_clear_recovery_info(&ri);