diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 93fc1116f4a7..e11c693f28b9 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1335,7 +1335,8 @@ static int read_node_page(struct page *page, int op_flags) if (err) return err; - if (unlikely(ni.blk_addr == NULL_ADDR) || + /* NEW_ADDR can be seen, after cp_error drops some dirty node pages */ + if (unlikely(ni.blk_addr == NULL_ADDR || ni.blk_addr == NEW_ADDR) || is_sbi_flag_set(sbi, SBI_IS_SHUTDOWN)) { ClearPageUptodate(page); return -ENOENT;