Lines Matching full:logical
71 u64 logical; member
89 u64 logical; member
202 u64 logical; member
208 u64 logical; member
235 static int scrub_pages(struct scrub_ctx *sctx, u64 logical, u32 len,
330 if (fstripe_logical < entry->logical) { in insert_full_stripe_lock()
332 } else if (fstripe_logical > entry->logical) { in insert_full_stripe_lock()
346 ret->logical = fstripe_logical; in insert_full_stripe_lock()
373 if (fstripe_logical < entry->logical) in search_full_stripe_lock()
375 else if (fstripe_logical > entry->logical) in search_full_stripe_lock()
384 * Helper to get full stripe logical from a normal bytenr.
503 fstripe_lock->logical); in unlock_full_stripe()
697 "%s at logical %llu on dev %s, physical %llu, root %llu, inode %llu, offset %llu, length %u, links … in scrub_print_warning_inode()
698 swarn->errstr, swarn->logical, in scrub_print_warning_inode()
711 …"%s at logical %llu on dev %s, physical %llu, root %llu, inode %llu, offset %llu: path resolving f… in scrub_print_warning_inode()
712 swarn->errstr, swarn->logical, in scrub_print_warning_inode()
747 swarn.logical = sblock->pagev[0]->logical; in scrub_print_warning()
751 ret = extent_from_logical(fs_info, swarn.logical, path, &found_key, in scrub_print_warning()
756 extent_item_pos = swarn.logical - found_key.objectid; in scrub_print_warning()
769 "%s at logical %llu on dev %s, physical %llu: metadata %s (level %d) in tree %llu", in scrub_print_warning()
770 errstr, swarn.logical, in scrub_print_warning()
819 u64 logical; in scrub_handle_errored_block() local
847 logical = sblock_to_check->pagev[0]->logical; in scrub_handle_errored_block()
856 return btrfs_repair_one_zone(fs_info, logical); in scrub_handle_errored_block()
875 ret = lock_full_stripe(fs_info, logical, &full_stripe_locked); in scrub_handle_errored_block()
928 /* setup the context, map the logical blocks and alloc the pages */ in scrub_handle_errored_block()
1177 "fixed up error at logical %llu on dev %s", in scrub_handle_errored_block()
1178 logical, rcu_str_deref(dev->name)); in scrub_handle_errored_block()
1186 "unable to fixup (regular) error at logical %llu on dev %s", in scrub_handle_errored_block()
1187 logical, rcu_str_deref(dev->name)); in scrub_handle_errored_block()
1214 ret = unlock_full_stripe(fs_info, logical, full_stripe_locked); in scrub_handle_errored_block()
1231 static inline void scrub_stripe_index_and_offset(u64 logical, u64 map_type, in scrub_stripe_index_and_offset() argument
1247 if (logical >= raid_map[i] && in scrub_stripe_index_and_offset()
1248 logical < raid_map[i] + mapped_length) in scrub_stripe_index_and_offset()
1253 *stripe_offset = logical - raid_map[i]; in scrub_stripe_index_and_offset()
1267 u64 logical = original_sblock->pagev[0]->logical; in scrub_setup_recheck_block() local
1299 logical, &mapped_length, &bbio); in scrub_setup_recheck_block()
1343 spage->logical = logical; in scrub_setup_recheck_block()
1350 scrub_stripe_index_and_offset(logical, in scrub_setup_recheck_block()
1379 logical += sublen; in scrub_setup_recheck_block()
1399 bio->bi_iter.bi_sector = spage->logical >> 9; in scrub_submit_raid56_bio_wait()
1675 sbio->logical = spage->logical; in scrub_add_page_to_wr_bio()
1691 sbio->logical + sbio->page_count * sectorsize != in scrub_add_page_to_wr_bio()
1692 spage->logical) { in scrub_add_page_to_wr_bio()
1878 if (spage->logical != btrfs_stack_header_bytenr(h)) in scrub_checksum_tree_block()
1927 if (spage->logical != btrfs_super_bytenr(s)) in scrub_checksum_super()
2101 sbio->logical = spage->logical; in scrub_add_page_to_rd_bio()
2117 sbio->logical + sbio->page_count * sectorsize != in scrub_add_page_to_rd_bio()
2118 spage->logical || in scrub_add_page_to_rd_bio()
2163 u64 logical; in scrub_missing_raid56_worker() local
2166 logical = sblock->pagev[0]->logical; in scrub_missing_raid56_worker()
2177 "IO error rebuilding logical %llu for dev %s", in scrub_missing_raid56_worker()
2178 logical, rcu_str_deref(dev->name)); in scrub_missing_raid56_worker()
2184 "failed to rebuild valid logical %llu for dev %s", in scrub_missing_raid56_worker()
2185 logical, rcu_str_deref(dev->name)); in scrub_missing_raid56_worker()
2205 u64 logical = sblock->pagev[0]->logical; in scrub_missing_raid56_pages() local
2213 ret = btrfs_map_sblock(fs_info, BTRFS_MAP_GET_READ_MIRRORS, logical, in scrub_missing_raid56_pages()
2230 bio->bi_iter.bi_sector = logical >> 9; in scrub_missing_raid56_pages()
2241 raid56_add_scrub_pages(rbio, spage->page, spage->logical); in scrub_missing_raid56_pages()
2260 static int scrub_pages(struct scrub_ctx *sctx, u64 logical, u32 len, in scrub_pages() argument
2308 spage->logical = logical; in scrub_pages()
2323 logical += l; in scrub_pages()
2467 u64 start = sblock->pagev[0]->logical; in scrub_block_complete()
2468 u64 end = sblock->pagev[sblock->page_count - 1]->logical + in scrub_block_complete()
2485 * Find the desired csum for range [logical, logical + sectorsize), and store
2490 * that is before @logical.
2495 static int scrub_find_csum(struct scrub_ctx *sctx, u64 logical, u8 *csum) in scrub_find_csum() argument
2507 if (sum->bytenr > logical) in scrub_find_csum()
2516 if (sum->bytenr + sum->len <= logical) { in scrub_find_csum()
2523 index = (logical - sum->bytenr) >> sctx->fs_info->sectorsize_bits; in scrub_find_csum()
2541 u64 logical, u32 len, in scrub_extent() argument
2578 have_csum = scrub_find_csum(sctx, logical, csum); in scrub_extent()
2582 ret = scrub_pages(sctx, logical, l, physical, dev, flags, gen, in scrub_extent()
2588 logical += l; in scrub_extent()
2596 u64 logical, u32 len, in scrub_pages_for_parity() argument
2646 spage->logical = logical; in scrub_pages_for_parity()
2663 logical += sectorsize; in scrub_pages_for_parity()
2685 u64 logical, u32 len, in scrub_extent_for_parity() argument
2695 scrub_parity_mark_sectors_error(sparity, logical, len); in scrub_extent_for_parity()
2714 have_csum = scrub_find_csum(sctx, logical, csum); in scrub_extent_for_parity()
2718 ret = scrub_pages_for_parity(sparity, logical, l, physical, dev, in scrub_extent_for_parity()
2725 logical += l; in scrub_extent_for_parity()
2733 * logical offset. if this is a parity stripe, it will return
2734 * the most left data stripe's logical offset.
3021 "scrub: tree block %llu spanning stripes, ignored. logical=%llu", in scrub_raid56_parity()
3138 static int sync_write_pointer_for_zoned(struct scrub_ctx *sctx, u64 logical, in sync_write_pointer_for_zoned() argument
3151 ret = btrfs_sync_zone_write_pointer(sctx->wr_tgtdev, logical, in sync_write_pointer_for_zoned()
3182 u64 logical; in scrub_stripe() local
3253 logical = base + offset; in scrub_stripe()
3260 logic_end = logical + increment * nstripes; in scrub_stripe()
3267 key.objectid = logical; in scrub_stripe()
3278 key.offset = logical; in scrub_stripe()
3338 &logical, in scrub_stripe()
3340 logical += base; in scrub_stripe()
3358 key.objectid = logical; in scrub_stripe()
3407 if (key.objectid + bytes <= logical) in scrub_stripe()
3410 if (key.objectid >= logical + map->stripe_len) { in scrub_stripe()
3437 (key.objectid < logical || in scrub_stripe()
3439 logical + map->stripe_len)) { in scrub_stripe()
3441 "scrub: tree block %llu spanning stripes, ignored. logical=%llu", in scrub_stripe()
3442 key.objectid, logical); in scrub_stripe()
3457 if (extent_logical < logical) { in scrub_stripe()
3458 extent_len -= logical - extent_logical; in scrub_stripe()
3459 extent_logical = logical; in scrub_stripe()
3462 logical + map->stripe_len) { in scrub_stripe()
3463 extent_len = logical + map->stripe_len - in scrub_stripe()
3467 extent_physical = extent_logical - logical + physical; in scrub_stripe()
3488 extent_logical - logical + physical); in scrub_stripe()
3508 num, map, &logical, in scrub_stripe()
3510 logical += base; in scrub_stripe()
3526 logical += increment; in scrub_stripe()
3528 if (logical < key.objectid + bytes) { in scrub_stripe()
3543 logical += increment; in scrub_stripe()
3748 * group doesn't get its logical address and its device extents in scrub_enumerate_chunks()