OSDN Git Service

f2fs: remove dirty inode pages in error path
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 23 Sep 2016 18:29:00 +0000 (11:29 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Sat, 1 Oct 2016 00:34:29 +0000 (17:34 -0700)
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>
fs/f2fs/super.c

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