summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim2016-09-23 20:29:00 +0200
committerJaegeuk Kim2016-10-01 02:34:29 +0200
commitbb5dada7d24778c6a315ded220ade20068305050 (patch)
tree656bc8d18b26858f4b7e3ab12830bbb2ac7a4659 /fs
parentf2fs: do not unnecessarily null-terminate encrypted symlink data (diff)
downloadkernel-qcow2-linux-bb5dada7d24778c6a315ded220ade20068305050.tar.gz
kernel-qcow2-linux-bb5dada7d24778c6a315ded220ade20068305050.tar.xz
kernel-qcow2-linux-bb5dada7d24778c6a315ded220ade20068305050.zip
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>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index e7bb153f8104..fbded3858905 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -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);