Lines Matching refs:sblock_bad
254 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad,
256 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
891 struct scrub_block *sblock_bad; in scrub_handle_errored_block() local
978 sblock_bad = sblocks_for_recheck + failed_mirror_index; in scrub_handle_errored_block()
981 scrub_recheck_block(fs_info, sblock_bad, 1); in scrub_handle_errored_block()
983 if (!sblock_bad->header_error && !sblock_bad->checksum_error && in scrub_handle_errored_block()
984 sblock_bad->no_io_error_seen) { in scrub_handle_errored_block()
999 scrub_write_block_to_dev_replace(sblock_bad); in scrub_handle_errored_block()
1003 if (!sblock_bad->no_io_error_seen) { in scrub_handle_errored_block()
1010 } else if (sblock_bad->checksum_error) { in scrub_handle_errored_block()
1018 } else if (sblock_bad->header_error) { in scrub_handle_errored_block()
1025 if (sblock_bad->generation_error) in scrub_handle_errored_block()
1104 sblock_bad, sblock_other); in scrub_handle_errored_block()
1111 if (sblock_bad->no_io_error_seen && !sctx->is_dev_replace) in scrub_handle_errored_block()
1139 for (page_num = 0; page_num < sblock_bad->page_count; in scrub_handle_errored_block()
1141 struct scrub_page *page_bad = sblock_bad->pagev[page_num]; in scrub_handle_errored_block()
1174 sblock_other = sblock_bad; in scrub_handle_errored_block()
1185 ret = scrub_repair_page_from_good_copy(sblock_bad, in scrub_handle_errored_block()
1206 scrub_recheck_block(fs_info, sblock_bad, 1); in scrub_handle_errored_block()
1207 if (!sblock_bad->header_error && in scrub_handle_errored_block()
1208 !sblock_bad->checksum_error && in scrub_handle_errored_block()
1209 sblock_bad->no_io_error_seen) in scrub_handle_errored_block()
1543 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad, in scrub_repair_block_from_good_copy() argument
1549 for (page_num = 0; page_num < sblock_bad->page_count; page_num++) { in scrub_repair_block_from_good_copy()
1552 ret_sub = scrub_repair_page_from_good_copy(sblock_bad, in scrub_repair_block_from_good_copy()
1562 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad, in scrub_repair_page_from_good_copy() argument
1566 struct scrub_page *page_bad = sblock_bad->pagev[page_num]; in scrub_repair_page_from_good_copy()
1571 if (force_write || sblock_bad->header_error || in scrub_repair_page_from_good_copy()
1572 sblock_bad->checksum_error || page_bad->io_error) { in scrub_repair_page_from_good_copy()
1577 btrfs_warn_rl(sblock_bad->sctx->dev_root->fs_info, in scrub_repair_page_from_good_copy()
1599 &sblock_bad->sctx->dev_root->fs_info-> in scrub_repair_page_from_good_copy()