]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
f2fs: clear PageError on the read path
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 25 Sep 2018 20:54:33 +0000 (13:54 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:12:30 +0000 (11:12 -0800)
commit0e264876d8a64372154d77e7a5e0fadb1e3c70c9
treebdf118e35727e6098bbefd0dd5354314280a356f
parentfbc88d502e8160eda9b8bfd80c7c30a1b28640e8
f2fs: clear PageError on the read path

[ Upstream commit fb7d70db305a1446864227abf711b756568f8242 ]

When running fault injection test, I hit somewhat wrong behavior in f2fs_gc ->
gc_data_segment():

0. fault injection generated some PageError'ed pages

1. gc_data_segment
 -> f2fs_get_read_data_page(REQ_RAHEAD)

2. move_data_page
 -> f2fs_get_lock_data_page()
  -> f2f_get_read_data_page()
   -> f2fs_submit_page_read()
    -> submit_bio(READ)
  -> return EIO due to PageError
  -> fail to move data

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/f2fs/data.c