Lines Matching refs:sblock_bad

219 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad,
221 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
824 struct scrub_block *sblock_bad; in scrub_handle_errored_block() local
939 sblock_bad = sblocks_for_recheck + failed_mirror_index; in scrub_handle_errored_block()
942 scrub_recheck_block(fs_info, sblock_bad, 1); in scrub_handle_errored_block()
944 if (!sblock_bad->header_error && !sblock_bad->checksum_error && in scrub_handle_errored_block()
945 sblock_bad->no_io_error_seen) { in scrub_handle_errored_block()
960 scrub_write_block_to_dev_replace(sblock_bad); in scrub_handle_errored_block()
964 if (!sblock_bad->no_io_error_seen) { in scrub_handle_errored_block()
971 } else if (sblock_bad->checksum_error) { in scrub_handle_errored_block()
979 } else if (sblock_bad->header_error) { in scrub_handle_errored_block()
986 if (sblock_bad->generation_error) in scrub_handle_errored_block()
1021 if (!scrub_is_page_on_raid56(sblock_bad->pagev[0])) { in scrub_handle_errored_block()
1029 struct scrub_recover *r = sblock_bad->pagev[0]->recover; in scrub_handle_errored_block()
1054 sblock_bad, sblock_other); in scrub_handle_errored_block()
1061 if (sblock_bad->no_io_error_seen && !sctx->is_dev_replace) in scrub_handle_errored_block()
1089 for (page_num = 0; page_num < sblock_bad->page_count; in scrub_handle_errored_block()
1091 struct scrub_page *spage_bad = sblock_bad->pagev[page_num]; in scrub_handle_errored_block()
1098 if (scrub_is_page_on_raid56(sblock_bad->pagev[0])) { in scrub_handle_errored_block()
1133 sblock_other = sblock_bad; in scrub_handle_errored_block()
1142 ret = scrub_repair_page_from_good_copy(sblock_bad, in scrub_handle_errored_block()
1163 scrub_recheck_block(fs_info, sblock_bad, 1); in scrub_handle_errored_block()
1164 if (!sblock_bad->header_error && in scrub_handle_errored_block()
1165 !sblock_bad->checksum_error && in scrub_handle_errored_block()
1166 sblock_bad->no_io_error_seen) in scrub_handle_errored_block()
1524 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad, in scrub_repair_block_from_good_copy() argument
1530 for (page_num = 0; page_num < sblock_bad->page_count; page_num++) { in scrub_repair_block_from_good_copy()
1533 ret_sub = scrub_repair_page_from_good_copy(sblock_bad, in scrub_repair_block_from_good_copy()
1543 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad, in scrub_repair_page_from_good_copy() argument
1547 struct scrub_page *spage_bad = sblock_bad->pagev[page_num]; in scrub_repair_page_from_good_copy()
1549 struct btrfs_fs_info *fs_info = sblock_bad->sctx->fs_info; in scrub_repair_page_from_good_copy()
1554 if (force_write || sblock_bad->header_error || in scrub_repair_page_from_good_copy()
1555 sblock_bad->checksum_error || spage_bad->io_error) { in scrub_repair_page_from_good_copy()