Lines Matching defs: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,
831 struct scrub_block *sblock_bad;
943 sblock_bad = sblocks_for_recheck + failed_mirror_index;
946 scrub_recheck_block(fs_info, sblock_bad, 1);
948 if (!sblock_bad->header_error && !sblock_bad->checksum_error &&
949 sblock_bad->no_io_error_seen) {
964 scrub_write_block_to_dev_replace(sblock_bad);
968 if (!sblock_bad->no_io_error_seen) {
975 } else if (sblock_bad->checksum_error) {
983 } else if (sblock_bad->header_error) {
990 if (sblock_bad->generation_error)
1025 if (!scrub_is_page_on_raid56(sblock_bad->pagev[0])) {
1033 struct scrub_recover *r = sblock_bad->pagev[0]->recover;
1058 sblock_bad, sblock_other);
1065 if (sblock_bad->no_io_error_seen && !sctx->is_dev_replace)
1093 for (page_num = 0; page_num < sblock_bad->page_count;
1095 struct scrub_page *page_bad = sblock_bad->pagev[page_num];
1102 if (scrub_is_page_on_raid56(sblock_bad->pagev[0])) {
1106 * in sblock_bad to make sure target device is identical
1137 sblock_other = sblock_bad;
1146 ret = scrub_repair_page_from_good_copy(sblock_bad,
1167 scrub_recheck_block(fs_info, sblock_bad, 1);
1168 if (!sblock_bad->header_error &&
1169 !sblock_bad->checksum_error &&
1170 sblock_bad->no_io_error_seen)
1528 static int scrub_repair_block_from_good_copy(struct scrub_block *sblock_bad,
1534 for (page_num = 0; page_num < sblock_bad->page_count; page_num++) {
1537 ret_sub = scrub_repair_page_from_good_copy(sblock_bad,
1547 static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
1551 struct scrub_page *page_bad = sblock_bad->pagev[page_num];
1553 struct btrfs_fs_info *fs_info = sblock_bad->sctx->fs_info;
1557 if (force_write || sblock_bad->header_error ||
1558 sblock_bad->checksum_error || page_bad->io_error) {