Lines Matching refs:bioc

104 	btrfs_put_bioc(rbio->bioc);  in free_raid_bio()
112 queue_work(rbio->bioc->fs_info->rmw_workers, &rbio->work); in start_async_work()
194 rbio->bioc->fs_info->sectorsize); in cache_rbio_pages()
205 u64 num = rbio->bioc->full_stripe_logical; in rbio_bucket()
221 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in full_page_sectors_uptodate()
243 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in index_stripe_sectors()
259 const u32 sectorsize = src->bioc->fs_info->sectorsize; in steal_rbio_page()
277 rbio->bioc->fs_info->sectorsize_bits; in is_data_stripe_page()
360 table = rbio->bioc->fs_info->stripe_hash_table; in __remove_rbio_from_cache()
414 table = rbio->bioc->fs_info->stripe_hash_table; in remove_rbio_from_cache()
472 table = rbio->bioc->fs_info->stripe_hash_table; in cache_rbio()
570 if (last->bioc->full_stripe_logical != cur->bioc->full_stripe_logical) in rbio_can_merge()
659 h = rbio->bioc->fs_info->stripe_hash_table->table + rbio_bucket(rbio); in lock_stripe_add()
663 if (cur->bioc->full_stripe_logical != rbio->bioc->full_stripe_logical) in lock_stripe_add()
742 h = rbio->bioc->fs_info->stripe_hash_table->table + bucket; in unlock_stripe()
903 struct btrfs_io_context *bioc) in alloc_rbio() argument
905 const unsigned int real_stripes = bioc->num_stripes - bioc->replace_nr_stripes; in alloc_rbio()
946 btrfs_get_bioc(bioc); in alloc_rbio()
947 rbio->bioc = bioc; in alloc_rbio()
956 ASSERT(btrfs_nr_parity_stripes(bioc->map_type)); in alloc_rbio()
957 rbio->nr_data = real_stripes - btrfs_nr_parity_stripes(bioc->map_type); in alloc_rbio()
1042 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in rbio_add_io_sector()
1054 ASSERT(stripe_nr >= 0 && stripe_nr < rbio->bioc->num_stripes); in rbio_add_io_sector()
1058 stripe = &rbio->bioc->stripes[stripe_nr]; in rbio_add_io_sector()
1071 if (found_errors > rbio->bioc->max_errors) in rbio_add_io_sector()
1108 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in index_one_bio()
1112 rbio->bioc->full_stripe_logical; in index_one_bio()
1151 const struct btrfs_io_context *bioc = rbio->bioc; in bio_get_trace_info() local
1154 ASSERT(bioc); in bio_get_trace_info()
1160 for (i = 0; i < bioc->num_stripes; i++) { in bio_get_trace_info()
1161 if (bio->bi_bdev != bioc->stripes[i].dev->bdev) in bio_get_trace_info()
1164 trace_info->devid = bioc->stripes[i].dev->devid; in bio_get_trace_info()
1166 bioc->stripes[i].physical; in bio_get_trace_info()
1188 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in generate_pq_vertical()
1191 const bool has_qstripe = rbio->bioc->map_type & BTRFS_BLOCK_GROUP_RAID6; in generate_pq_vertical()
1275 if (likely(!rbio->bioc->replace_nr_stripes)) in rmw_assemble_write_bios()
1283 ASSERT(rbio->bioc->replace_stripe_src >= 0); in rmw_assemble_write_bios()
1297 if (stripe != rbio->bioc->replace_stripe_src) { in rmw_assemble_write_bios()
1334 struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; in set_rbio_range_error()
1336 rbio->bioc->full_stripe_logical; in set_rbio_range_error()
1355 if (!rbio->bioc->stripes[stripe_nr].dev->bdev) { in set_rbio_range_error()
1391 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in set_bio_pages_uptodate()
1447 (bio_size >> rbio->bioc->fs_info->sectorsize_bits); i++) in rbio_update_error_bitmap()
1455 struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; in verify_bio_data_sectors()
1611 const struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; in rbio_add_bio()
1613 const u64 full_stripe_start = rbio->bioc->full_stripe_logical; in rbio_add_bio()
1638 void raid56_parity_write(struct bio *bio, struct btrfs_io_context *bioc) in raid56_parity_write() argument
1640 struct btrfs_fs_info *fs_info = bioc->fs_info; in raid56_parity_write()
1645 rbio = alloc_rbio(fs_info, bioc); in raid56_parity_write()
1681 struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; in verify_one_sector()
1721 struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; in recover_vertical()
1747 if (found_errors > rbio->bioc->max_errors) in recover_vertical()
1773 if (rbio->bioc->map_type & BTRFS_BLOCK_GROUP_RAID6) { in recover_vertical()
1952 if (!rbio->bioc->stripes[stripe].dev->bdev || in recover_rbio()
2042 void raid56_parity_recover(struct bio *bio, struct btrfs_io_context *bioc, in raid56_parity_recover() argument
2045 struct btrfs_fs_info *fs_info = bioc->fs_info; in raid56_parity_recover()
2048 rbio = alloc_rbio(fs_info, bioc); in raid56_parity_recover()
2073 struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; in fill_data_csums()
2075 rbio->bioc->full_stripe_logical); in fill_data_csums()
2076 const u64 start = rbio->bioc->full_stripe_logical; in fill_data_csums()
2095 if (!(rbio->bioc->map_type & BTRFS_BLOCK_GROUP_DATA) || in fill_data_csums()
2096 rbio->bioc->map_type & BTRFS_BLOCK_GROUP_METADATA) in fill_data_csums()
2124 rbio->bioc->full_stripe_logical, ret); in fill_data_csums()
2302 if (found_errors > rbio->bioc->max_errors) { in rmw_rbio()
2336 struct btrfs_io_context *bioc, in raid56_parity_alloc_scrub_rbio() argument
2340 struct btrfs_fs_info *fs_info = bioc->fs_info; in raid56_parity_alloc_scrub_rbio()
2344 rbio = alloc_rbio(fs_info, bioc); in raid56_parity_alloc_scrub_rbio()
2361 if (bioc->stripes[i].dev == scrub_dev) { in raid56_parity_alloc_scrub_rbio()
2378 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in alloc_rbio_essential_pages()
2402 struct btrfs_io_context *bioc = rbio->bioc; in finish_parity_scrub() local
2403 const u32 sectorsize = bioc->fs_info->sectorsize; in finish_parity_scrub()
2429 if (bioc->replace_nr_stripes && bioc->replace_stripe_src == rbio->scrubp) { in finish_parity_scrub()
2531 ASSERT(rbio->bioc->replace_stripe_src >= 0); in finish_parity_scrub()
2587 if (found_errors > rbio->bioc->max_errors) { in recover_scrub_rbio()
2611 if (dfail > rbio->bioc->max_errors - 1) { in recover_scrub_rbio()
2719 if (found_errors > rbio->bioc->max_errors) { in scrub_rbio()
2750 rbio->bioc->full_stripe_logical; in raid56_parity_cache_data_pages()
2752 const u32 sectorsize = rbio->bioc->fs_info->sectorsize; in raid56_parity_cache_data_pages()