Lines Matching refs:bg
110 struct btrfs_block_group *bg; member
585 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_stripe_get_page()
594 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_stripe_get_page_offset()
601 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_verify_one_metadata()
692 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_verify_one_sector()
754 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_verify_one_stripe()
787 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_repair_read_endio()
821 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_stripe_submit_repair_read()
1014 int num_copies = btrfs_num_copies(fs_info, stripe->bg->start, in scrub_stripe_read_repair_worker()
1015 stripe->bg->length); in scrub_stripe_read_repair_worker()
1087 btrfs_repair_one_zone(fs_info, sctx->stripes[0].bg->start); in scrub_stripe_read_repair_worker()
1111 num_sectors = bio_size >> stripe->bg->fs_info->sectorsize_bits; in scrub_read_endio()
1123 queue_work(stripe->bg->fs_info->scrub_workers, &stripe->work); in scrub_read_endio()
1130 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_write_endio()
1198 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in scrub_write_sectors()
1521 static int scrub_find_fill_first_stripe(struct btrfs_block_group *bg, in scrub_find_fill_first_stripe() argument
1529 struct btrfs_fs_info *fs_info = bg->fs_info; in scrub_find_fill_first_stripe()
1530 struct btrfs_root *extent_root = btrfs_extent_root(fs_info, bg->start); in scrub_find_fill_first_stripe()
1531 struct btrfs_root *csum_root = btrfs_csum_root(fs_info, bg->start); in scrub_find_fill_first_stripe()
1550 ASSERT(logical_start >= bg->start && logical_end <= bg->start + bg->length); in scrub_find_fill_first_stripe()
1571 stripe->logical = round_down(cur_logical - bg->start, BTRFS_STRIPE_LEN) + in scrub_find_fill_first_stripe()
1572 bg->start; in scrub_find_fill_first_stripe()
1575 stripe->bg = bg; in scrub_find_fill_first_stripe()
1606 if (bg->flags & BTRFS_BLOCK_GROUP_DATA) { in scrub_find_fill_first_stripe()
1657 unsigned int nr_sectors = min_t(u64, BTRFS_STRIPE_LEN, stripe->bg->start + in scrub_submit_initial_read()
1658 stripe->bg->length - stripe->logical) >> in scrub_submit_initial_read()
1662 ASSERT(stripe->bg); in scrub_submit_initial_read()
1690 int num_copies = btrfs_num_copies(fs_info, stripe->bg->start, in scrub_submit_initial_read()
1691 stripe->bg->length); in scrub_submit_initial_read()
1704 struct btrfs_fs_info *fs_info = stripe->bg->fs_info; in stripe_has_metadata_error()
1806 static int queue_scrub_stripe(struct scrub_ctx *sctx, struct btrfs_block_group *bg, in queue_scrub_stripe() argument
1825 ret = scrub_find_fill_first_stripe(bg, &sctx->extent_path, in queue_scrub_stripe()
1849 struct btrfs_block_group *bg, in scrub_raid56_parity_stripe() argument
1885 rot = div_u64(full_stripe_start - bg->start, in scrub_raid56_parity_stripe()
1893 ret = scrub_find_fill_first_stripe(bg, &extent_path, &csum_path, in scrub_raid56_parity_stripe()
2018 struct btrfs_block_group *bg, in scrub_simple_mirror() argument
2030 ASSERT(logical_start >= bg->start && logical_end <= bg->start + bg->length); in scrub_simple_mirror()
2049 spin_lock(&bg->lock); in scrub_simple_mirror()
2050 if (test_bit(BLOCK_GROUP_FLAG_REMOVED, &bg->runtime_flags)) { in scrub_simple_mirror()
2051 spin_unlock(&bg->lock); in scrub_simple_mirror()
2055 spin_unlock(&bg->lock); in scrub_simple_mirror()
2057 ret = queue_scrub_stripe(sctx, bg, device, mirror_num, in scrub_simple_mirror()
2090 struct btrfs_block_group *bg, in simple_stripe_get_logical() argument
2102 bg->start; in simple_stripe_get_logical()
2117 struct btrfs_block_group *bg, in scrub_simple_stripe() argument
2123 const u64 orig_logical = simple_stripe_get_logical(map, bg, stripe_index); in scrub_simple_stripe()
2130 while (cur_logical < bg->start + bg->length) { in scrub_simple_stripe()
2136 ret = scrub_simple_mirror(sctx, bg, map, cur_logical, in scrub_simple_stripe()
2150 struct btrfs_block_group *bg, in scrub_stripe() argument
2158 const u64 chunk_logical = bg->start; in scrub_stripe()
2201 sctx->raid56_data_stripes[i].bg = bg; in scrub_stripe()
2222 ret = scrub_simple_mirror(sctx, bg, map, bg->start, bg->length, in scrub_stripe()
2229 ret = scrub_simple_stripe(sctx, bg, map, scrub_dev, stripe_index); in scrub_stripe()
2258 ret = scrub_raid56_parity_stripe(sctx, scrub_dev, bg, in scrub_stripe()
2273 ret = scrub_simple_mirror(sctx, bg, map, logical, BTRFS_STRIPE_LEN, in scrub_stripe()
2319 struct btrfs_block_group *bg, in scrub_chunk() argument
2332 em = lookup_extent_mapping(map_tree, bg->start, bg->length); in scrub_chunk()
2340 spin_lock(&bg->lock); in scrub_chunk()
2341 if (!test_bit(BLOCK_GROUP_FLAG_REMOVED, &bg->runtime_flags)) in scrub_chunk()
2343 spin_unlock(&bg->lock); in scrub_chunk()
2347 if (em->start != bg->start) in scrub_chunk()
2356 ret = scrub_stripe(sctx, bg, em, scrub_dev, i); in scrub_chunk()