.. | .. |
---|
315 | 315 | |
---|
316 | 316 | trace_f2fs_writepage(page, META); |
---|
317 | 317 | |
---|
318 | | - if (unlikely(f2fs_cp_error(sbi))) |
---|
| 318 | + if (unlikely(f2fs_cp_error(sbi))) { |
---|
| 319 | + if (is_sbi_flag_set(sbi, SBI_IS_CLOSE)) { |
---|
| 320 | + ClearPageUptodate(page); |
---|
| 321 | + dec_page_count(sbi, F2FS_DIRTY_META); |
---|
| 322 | + unlock_page(page); |
---|
| 323 | + return 0; |
---|
| 324 | + } |
---|
319 | 325 | goto redirty_out; |
---|
| 326 | + } |
---|
320 | 327 | if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING))) |
---|
321 | 328 | goto redirty_out; |
---|
322 | 329 | if (wbc->for_reclaim && page->index < GET_SUM_BLOCK(sbi, 0)) |
---|
.. | .. |
---|
1288 | 1295 | if (!get_pages(sbi, type)) |
---|
1289 | 1296 | break; |
---|
1290 | 1297 | |
---|
1291 | | - if (unlikely(f2fs_cp_error(sbi))) |
---|
| 1298 | + if (unlikely(f2fs_cp_error(sbi) && |
---|
| 1299 | + !is_sbi_flag_set(sbi, SBI_IS_CLOSE))) |
---|
1292 | 1300 | break; |
---|
1293 | 1301 | |
---|
1294 | 1302 | if (type == F2FS_DIRTY_META) |
---|