f2fs: handle errors during recover_orphan_inodes
This patch fixes to handle EIO during recover_orphan_inode() given the below
panic.
F2FS-fs : inject IO error in f2fs_read_end_io+0xe6/0x100 [f2fs]
------------[ cut here ]------------
RIP: 0010:[<
ffffffffc0b244e3>]  [<
ffffffffc0b244e3>] f2fs_evict_inode+0x433/0x470 [f2fs]
RSP: 0018:
ffff92f8b7fb7c30  EFLAGS: 
00010246
RAX: 
ffff92fb88a13500 RBX: 
ffff92f890566ea0 RCX: 
00000000fd3c255c
RDX: 
0000000000000001 RSI: 
ffff92fb88a13d90 RDI: 
ffff92fb8ee127e8
RBP: 
ffff92f8b7fb7c58 R08: 
0000000000000001 R09: 
ffff92fb88a13d58
R10: 
000000005a6a9373 R11: 
0000000000000001 R12: 
00000000fffffffb
R13: 
ffff92fb8ee12000 R14: 
00000000000034ca R15: 
ffff92fb8ee12620
FS:  
00007f1fefd8e880(0000) GS:
ffff92fb95600000(0000) knlGS:
0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 
0000000080050033
CR2: 
00007fc211d34cdb CR3: 
000000012d43a000 CR4: 
00000000001406e0
Stack:
 
ffff92f890566ea0 ffff92f890567078 ffffffffc0b5a0c0 ffff92f890566f28
 ffff92fb888b2000 ffff92f8b7fb7c80 ffffffffbc27ff55 ffff92f890566ea0
 ffff92fb8bf10000 ffffffffc0b5a0c0 ffff92f8b7fb7cb0 ffffffffbc28090d
Call Trace:
 [<
ffffffffbc27ff55>] evict+0xc5/0x1a0
 [<
ffffffffbc28090d>] iput+0x1ad/0x2c0
 [<
ffffffffc0b3304c>] recover_orphan_inodes+0x10c/0x2e0 [f2fs]
 [<
ffffffffc0b2e0f4>] f2fs_fill_super+0x884/0x1150 [f2fs]
 [<
ffffffffbc2644ac>] mount_bdev+0x18c/0x1c0
 [<
ffffffffc0b2d870>] ? f2fs_commit_super+0x100/0x100 [f2fs]
 [<
ffffffffc0b2a755>] f2fs_mount+0x15/0x20 [f2fs]
 [<
ffffffffbc264e49>] mount_fs+0x39/0x170
 [<
ffffffffbc28555b>] vfs_kern_mount+0x6b/0x160
 [<
ffffffffbc2881df>] do_mount+0x1cf/0xd00
 [<
ffffffffbc287f2c>] ? copy_mount_options+0xac/0x170
 [<
ffffffffbc289003>] SyS_mount+0x83/0xd0
 [<
ffffffffbc8ee880>] entry_SYSCALL_64_fastpath+0x23/0xc1
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>