summaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2017-06-01 15:39:27 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2017-07-04 02:11:31 -0700
commitd8c4256c17dac3e9ec0c441b81292d5d2044c89f (patch)
treebd3ce1eff6a7028eb2b9614e88c4a4fbe8b94529 /fs/f2fs
parentacfd2810c75b0625897fc119a2d3a9c26cc0e405 (diff)
downloadlinux-d8c4256c17dac3e9ec0c441b81292d5d2044c89f.tar.gz
linux-d8c4256c17dac3e9ec0c441b81292d5d2044c89f.tar.bz2
linux-d8c4256c17dac3e9ec0c441b81292d5d2044c89f.zip
f2fs: remove false-positive bug_on
For example, f2fs_create - new_node_page is failed - handle_failed_inode - skip to add it into orphan list, since ni.blk_addr == NULL_ADDR : set_inode_flag(inode, FI_FREE_NID) f2fs_evict_inode - EIO due to fault injection - f2fs_bug_on() is triggered So, we don't need to call f2fs_bug_on in this case. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/inode.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index e53c784ab11e..868d71436ebc 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -425,9 +425,10 @@ no_delete:
if (is_inode_flag_set(inode, FI_FREE_NID)) {
alloc_nid_failed(sbi, inode->i_ino);
clear_inode_flag(inode, FI_FREE_NID);
+ } else {
+ f2fs_bug_on(sbi, err &&
+ !exist_written_data(sbi, inode->i_ino, ORPHAN_INO));
}
- f2fs_bug_on(sbi, err &&
- !exist_written_data(sbi, inode->i_ino, ORPHAN_INO));
out_clear:
fscrypt_put_encryption_info(inode, NULL);
clear_inode(inode);