| .. | .. |
|---|
| 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) |
|---|