Lines Matching refs:sblock_bad

218 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad,
220 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
832 struct scrub_block *sblock_bad; in scrub_handle_errored_block() local
944 sblock_bad = sblocks_for_recheck + failed_mirror_index; in scrub_handle_errored_block()
947 scrub_recheck_block(fs_info, sblock_bad, 1); in scrub_handle_errored_block()
949 if (!sblock_bad->header_error && !sblock_bad->checksum_error && in scrub_handle_errored_block()
950 sblock_bad->no_io_error_seen) { in scrub_handle_errored_block()
965 scrub_write_block_to_dev_replace(sblock_bad); in scrub_handle_errored_block()
969 if (!sblock_bad->no_io_error_seen) { in scrub_handle_errored_block()
976 } else if (sblock_bad->checksum_error) { in scrub_handle_errored_block()
984 } else if (sblock_bad->header_error) { in scrub_handle_errored_block()
991 if (sblock_bad->generation_error) in scrub_handle_errored_block()
1026 if (!scrub_is_page_on_raid56(sblock_bad->pagev[0])) { in scrub_handle_errored_block()
1034 struct scrub_recover *r = sblock_bad->pagev[0]->recover; in scrub_handle_errored_block()
1059 sblock_bad, sblock_other); in scrub_handle_errored_block()
1066 if (sblock_bad->no_io_error_seen && !sctx->is_dev_replace) in scrub_handle_errored_block()
1094 for (page_num = 0; page_num < sblock_bad->page_count; in scrub_handle_errored_block()
1096 struct scrub_page *page_bad = sblock_bad->pagev[page_num]; in scrub_handle_errored_block()
1103 if (scrub_is_page_on_raid56(sblock_bad->pagev[0])) { in scrub_handle_errored_block()
1138 sblock_other = sblock_bad; in scrub_handle_errored_block()
1147 ret = scrub_repair_page_from_good_copy(sblock_bad, in scrub_handle_errored_block()
1168 scrub_recheck_block(fs_info, sblock_bad, 1); in scrub_handle_errored_block()
1169 if (!sblock_bad->header_error && in scrub_handle_errored_block()
1170 !sblock_bad->checksum_error && in scrub_handle_errored_block()
1171 sblock_bad->no_io_error_seen) in scrub_handle_errored_block()
1529 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad, in scrub_repair_block_from_good_copy() argument
1535 for (page_num = 0; page_num < sblock_bad->page_count; page_num++) { in scrub_repair_block_from_good_copy()
1538 ret_sub = scrub_repair_page_from_good_copy(sblock_bad, in scrub_repair_block_from_good_copy()
1548 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad, in scrub_repair_page_from_good_copy() argument
1552 struct scrub_page *page_bad = sblock_bad->pagev[page_num]; in scrub_repair_page_from_good_copy()
1554 struct btrfs_fs_info *fs_info = sblock_bad->sctx->fs_info; in scrub_repair_page_from_good_copy()
1558 if (force_write || sblock_bad->header_error || in scrub_repair_page_from_good_copy()
1559 sblock_bad->checksum_error || page_bad->io_error) { in scrub_repair_page_from_good_copy()