Browse Source

f2fs: remove dirty inode pages in error path

When getting EIO while handling orphan inodes, we can get some dirty node
pages. Then, f2fs_write_node_pages() called by iput(node_inode) will try
to flush node pages. But in this case, we should prevent to do that, since
we will try again from the start.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim 9 years ago
parent
commit
bb5dada7d2
1 changed files with 1 additions and 0 deletions
  1. 1 0
      fs/f2fs/super.c

+ 1 - 0
fs/f2fs/super.c

@@ -1892,6 +1892,7 @@ free_root_inode:
 	dput(sb->s_root);
 	dput(sb->s_root);
 	sb->s_root = NULL;
 	sb->s_root = NULL;
 free_node_inode:
 free_node_inode:
+	truncate_inode_pages_final(NODE_MAPPING(sbi));
 	mutex_lock(&sbi->umount_mutex);
 	mutex_lock(&sbi->umount_mutex);
 	release_ino_entry(sbi, true);
 	release_ino_entry(sbi, true);
 	f2fs_leave_shrinker(sbi);
 	f2fs_leave_shrinker(sbi);