Lines Matching refs:bbio
68 struct btrfs_bio *bbio; member
867 btrfs_put_bbio(recover->bbio); in scrub_put_recover()
1260 static inline int scrub_nr_raid_mirrors(struct btrfs_bio *bbio) in scrub_nr_raid_mirrors() argument
1262 if (bbio->map_type & BTRFS_BLOCK_GROUP_RAID5) in scrub_nr_raid_mirrors()
1264 else if (bbio->map_type & BTRFS_BLOCK_GROUP_RAID6) in scrub_nr_raid_mirrors()
1267 return (int)bbio->num_stripes; in scrub_nr_raid_mirrors()
1311 struct btrfs_bio *bbio; in scrub_setup_recheck_block() local
1330 bbio = NULL; in scrub_setup_recheck_block()
1337 &mapped_length, &bbio, 0, 1); in scrub_setup_recheck_block()
1338 if (ret || !bbio || mapped_length < sublen) { in scrub_setup_recheck_block()
1339 btrfs_put_bbio(bbio); in scrub_setup_recheck_block()
1345 btrfs_put_bbio(bbio); in scrub_setup_recheck_block()
1350 recover->bbio = bbio; in scrub_setup_recheck_block()
1355 nmirrors = min(scrub_nr_raid_mirrors(bbio), BTRFS_MAX_MIRRORS); in scrub_setup_recheck_block()
1387 bbio->map_type, in scrub_setup_recheck_block()
1388 bbio->raid_map, in scrub_setup_recheck_block()
1390 bbio->num_stripes - in scrub_setup_recheck_block()
1391 bbio->num_tgtdevs, in scrub_setup_recheck_block()
1395 page->physical = bbio->stripes[stripe_index].physical + in scrub_setup_recheck_block()
1397 page->dev = bbio->stripes[stripe_index].dev; in scrub_setup_recheck_block()
1438 (page->recover->bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK); in scrub_is_page_on_raid56()
1454 ret = raid56_parity_recover(fs_info->fs_root, bio, page->recover->bbio, in scrub_submit_raid56_bio_wait()
2182 struct btrfs_bio *bbio; in scrub_missing_raid56_pages() local
2189 &bbio, 0, 1); in scrub_missing_raid56_pages()
2190 if (ret || !bbio || !bbio->raid_map) in scrub_missing_raid56_pages()
2194 !(bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK))) { in scrub_missing_raid56_pages()
2212 rbio = raid56_alloc_missing_rbio(sctx->dev_root, bio, bbio, length); in scrub_missing_raid56_pages()
2232 btrfs_put_bbio(bbio); in scrub_missing_raid56_pages()
2766 struct btrfs_bio *bbio = NULL; in scrub_parity_check_and_repair() local
2777 &length, &bbio, 0, 1); in scrub_parity_check_and_repair()
2778 if (ret || !bbio || !bbio->raid_map) in scrub_parity_check_and_repair()
2789 rbio = raid56_parity_alloc_scrub_rbio(sctx->dev_root, bio, bbio, in scrub_parity_check_and_repair()
2806 btrfs_put_bbio(bbio); in scrub_parity_check_and_repair()
2845 struct btrfs_bio *bbio = NULL; in scrub_raid56_parity() local
2984 &mapped_length, &bbio, 0); in scrub_raid56_parity()
2986 if (!bbio || mapped_length < extent_len) in scrub_raid56_parity()
2990 btrfs_put_bbio(bbio); in scrub_raid56_parity()
2993 extent_physical = bbio->stripes[0].physical; in scrub_raid56_parity()
2994 extent_mirror_num = bbio->mirror_num; in scrub_raid56_parity()
2995 extent_dev = bbio->stripes[0].dev; in scrub_raid56_parity()
2996 btrfs_put_bbio(bbio); in scrub_raid56_parity()
4025 struct btrfs_bio *bbio = NULL; in scrub_remap_extent() local
4030 &mapped_length, &bbio, 0); in scrub_remap_extent()
4031 if (ret || !bbio || mapped_length < extent_len || in scrub_remap_extent()
4032 !bbio->stripes[0].dev->bdev) { in scrub_remap_extent()
4033 btrfs_put_bbio(bbio); in scrub_remap_extent()
4037 *extent_physical = bbio->stripes[0].physical; in scrub_remap_extent()
4038 *extent_mirror_num = bbio->mirror_num; in scrub_remap_extent()
4039 *extent_dev = bbio->stripes[0].dev; in scrub_remap_extent()
4040 btrfs_put_bbio(bbio); in scrub_remap_extent()