bbio 19 drivers/md/bcache/io.c struct bbio *b = container_of(bio, struct bbio, bio); bbio 26 drivers/md/bcache/io.c struct bbio *b = mempool_alloc(&c->bio_meta, GFP_NOIO); bbio 36 drivers/md/bcache/io.c struct bbio *b = container_of(bio, struct bbio, bio); bbio 48 drivers/md/bcache/io.c struct bbio *b = container_of(bio, struct bbio, bio); bbio 139 drivers/md/bcache/io.c struct bbio *b = container_of(bio, struct bbio, bio); bbio 19 drivers/md/bcache/movinggc.c struct bbio bio; bbio 64 drivers/md/bcache/movinggc.c struct bbio *b = container_of(bio, struct bbio, bio); bbio 479 drivers/md/bcache/request.c struct bbio bio; bbio 498 drivers/md/bcache/request.c struct bbio *b = container_of(bio, struct bbio, bio); bbio 565 drivers/md/bcache/request.c bio_key = &container_of(n, struct bbio, bio)->key; bbio 845 drivers/md/bcache/super.c if (bioset_init(&d->bio_split, 4, offsetof(struct bbio, bio), bbio 1821 drivers/md/bcache/super.c sizeof(struct bbio) + sizeof(struct bio_vec) * bbio 1824 drivers/md/bcache/super.c bioset_init(&c->bio_split, 4, offsetof(struct bbio, bio), bbio 1311 fs/btrfs/extent-tree.c struct btrfs_bio *bbio = NULL; bbio 1321 fs/btrfs/extent-tree.c &bbio, 0); bbio 1324 fs/btrfs/extent-tree.c struct btrfs_bio_stripe *stripe = bbio->stripes; bbio 1328 fs/btrfs/extent-tree.c for (i = 0; i < bbio->num_stripes; i++, stripe++) { bbio 1356 fs/btrfs/extent-tree.c btrfs_put_bbio(bbio); bbio 2187 fs/btrfs/extent_io.c struct btrfs_bio *bbio = NULL; bbio 2211 fs/btrfs/extent_io.c &map_length, &bbio, 0); bbio 2217 fs/btrfs/extent_io.c ASSERT(bbio->mirror_num == 1); bbio 2220 fs/btrfs/extent_io.c &map_length, &bbio, mirror_num); bbio 2226 fs/btrfs/extent_io.c BUG_ON(mirror_num != bbio->mirror_num); bbio 2229 fs/btrfs/extent_io.c sector = bbio->stripes[bbio->mirror_num - 1].physical >> 9; bbio 2231 fs/btrfs/extent_io.c dev = bbio->stripes[bbio->mirror_num - 1].dev; bbio 2232 fs/btrfs/extent_io.c btrfs_put_bbio(bbio); bbio 63 fs/btrfs/raid56.c struct btrfs_bio *bbio; bbio 284 fs/btrfs/raid56.c u64 num = rbio->bbio->raid_map[0]; bbio 572 fs/btrfs/raid56.c if (last->bbio->raid_map[0] != bbio 573 fs/btrfs/raid56.c cur->bbio->raid_map[0]) bbio 685 fs/btrfs/raid56.c if (cur->bbio->raid_map[0] == rbio->bbio->raid_map[0]) { bbio 853 fs/btrfs/raid56.c btrfs_put_bbio(rbio->bbio); bbio 921 fs/btrfs/raid56.c 0 : rbio->bbio->max_errors; bbio 976 fs/btrfs/raid56.c struct btrfs_bio *bbio, bbio 981 fs/btrfs/raid56.c int real_stripes = bbio->num_stripes - bbio->num_tgtdevs; bbio 1002 fs/btrfs/raid56.c rbio->bbio = bbio; bbio 1030 fs/btrfs/raid56.c if (bbio->map_type & BTRFS_BLOCK_GROUP_RAID5) bbio 1032 fs/btrfs/raid56.c else if (bbio->map_type & BTRFS_BLOCK_GROUP_RAID6) bbio 1096 fs/btrfs/raid56.c stripe = &rbio->bbio->stripes[stripe_nr]; bbio 1172 fs/btrfs/raid56.c stripe_offset = start - rbio->bbio->raid_map[0]; bbio 1196 fs/btrfs/raid56.c struct btrfs_bio *bbio = rbio->bbio; bbio 1306 fs/btrfs/raid56.c if (likely(!bbio->num_tgtdevs)) bbio 1310 fs/btrfs/raid56.c if (!bbio->tgtdev_map[stripe]) bbio 1324 fs/btrfs/raid56.c rbio->bbio->tgtdev_map[stripe], bbio 1370 fs/btrfs/raid56.c for (i = 0; i < rbio->bbio->num_stripes; i++) { bbio 1371 fs/btrfs/raid56.c stripe = &rbio->bbio->stripes[i]; bbio 1399 fs/btrfs/raid56.c stripe_start = rbio->bbio->raid_map[i]; bbio 1491 fs/btrfs/raid56.c if (atomic_read(&rbio->error) > rbio->bbio->max_errors) bbio 1758 fs/btrfs/raid56.c struct btrfs_bio *bbio, u64 stripe_len) bbio 1765 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, stripe_len); bbio 1767 fs/btrfs/raid56.c btrfs_put_bbio(bbio); bbio 1865 fs/btrfs/raid56.c if (rbio->bbio->map_type & BTRFS_BLOCK_GROUP_RAID6) { bbio 1900 fs/btrfs/raid56.c if (rbio->bbio->raid_map[failb] == RAID6_Q_STRIPE) { bbio 1901 fs/btrfs/raid56.c if (rbio->bbio->raid_map[faila] == bbio 1913 fs/btrfs/raid56.c if (rbio->bbio->raid_map[failb] == RAID5_P_STRIPE) { bbio 2042 fs/btrfs/raid56.c if (atomic_read(&rbio->error) > rbio->bbio->max_errors) bbio 2110 fs/btrfs/raid56.c if (atomic_read(&rbio->error) <= rbio->bbio->max_errors) { bbio 2157 fs/btrfs/raid56.c struct btrfs_bio *bbio, u64 stripe_len, bbio 2164 fs/btrfs/raid56.c ASSERT(bbio->mirror_num == mirror_num); bbio 2168 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, stripe_len); bbio 2171 fs/btrfs/raid56.c btrfs_put_bbio(bbio); bbio 2184 fs/btrfs/raid56.c (u64)bio->bi_iter.bi_size, bbio->map_type); bbio 2186 fs/btrfs/raid56.c btrfs_put_bbio(bbio); bbio 2195 fs/btrfs/raid56.c btrfs_get_bbio(bbio); bbio 2263 fs/btrfs/raid56.c struct btrfs_bio *bbio, u64 stripe_len, bbio 2270 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, stripe_len); bbio 2287 fs/btrfs/raid56.c if (bbio->stripes[i].dev == scrub_dev) { bbio 2315 fs/btrfs/raid56.c ASSERT(logical >= rbio->bbio->raid_map[0]); bbio 2316 fs/btrfs/raid56.c ASSERT(logical + PAGE_SIZE <= rbio->bbio->raid_map[0] + bbio 2318 fs/btrfs/raid56.c stripe_offset = (int)(logical - rbio->bbio->raid_map[0]); bbio 2352 fs/btrfs/raid56.c struct btrfs_bio *bbio = rbio->bbio; bbio 2378 fs/btrfs/raid56.c if (bbio->num_tgtdevs && bbio->tgtdev_map[rbio->scrubp]) { bbio 2480 fs/btrfs/raid56.c bbio->tgtdev_map[rbio->scrubp], bbio 2532 fs/btrfs/raid56.c if (atomic_read(&rbio->error) > rbio->bbio->max_errors) bbio 2553 fs/btrfs/raid56.c if (dfail > rbio->bbio->max_errors - 1) bbio 2724 fs/btrfs/raid56.c struct btrfs_bio *bbio, u64 length) bbio 2728 fs/btrfs/raid56.c rbio = alloc_rbio(fs_info, bbio, length); bbio 34 fs/btrfs/raid56.h struct btrfs_bio *bbio, u64 stripe_len, bbio 37 fs/btrfs/raid56.h struct btrfs_bio *bbio, u64 stripe_len); bbio 44 fs/btrfs/raid56.h struct btrfs_bio *bbio, u64 stripe_len, bbio 51 fs/btrfs/raid56.h struct btrfs_bio *bbio, u64 length); bbio 225 fs/btrfs/reada.c struct btrfs_bio *bbio) bbio 273 fs/btrfs/reada.c for (i = 0; i < bbio->num_stripes; ++i) { bbio 275 fs/btrfs/reada.c zone->devs[i] = bbio->stripes[i].dev; bbio 277 fs/btrfs/reada.c zone->ndevs = bbio->num_stripes; bbio 306 fs/btrfs/reada.c struct btrfs_bio *bbio = NULL; bbio 340 fs/btrfs/reada.c &length, &bbio, 0); bbio 341 fs/btrfs/reada.c if (ret || !bbio || length < fs_info->nodesize) bbio 344 fs/btrfs/reada.c if (bbio->num_stripes > BTRFS_MAX_MIRRORS) { bbio 351 fs/btrfs/reada.c real_stripes = bbio->num_stripes - bbio->num_tgtdevs; bbio 355 fs/btrfs/reada.c dev = bbio->stripes[nzones].dev; bbio 361 fs/btrfs/reada.c zone = reada_find_zone(dev, logical, bbio); bbio 454 fs/btrfs/reada.c btrfs_put_bbio(bbio); bbio 478 fs/btrfs/reada.c btrfs_put_bbio(bbio); bbio 58 fs/btrfs/scrub.c struct btrfs_bio *bbio; bbio 261 fs/btrfs/scrub.c (page->recover->bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK); bbio 809 fs/btrfs/scrub.c btrfs_put_bbio(recover->bbio); bbio 1035 fs/btrfs/scrub.c int max_allowed = r->bbio->num_stripes - bbio 1036 fs/btrfs/scrub.c r->bbio->num_tgtdevs; bbio 1226 fs/btrfs/scrub.c static inline int scrub_nr_raid_mirrors(struct btrfs_bio *bbio) bbio 1228 fs/btrfs/scrub.c if (bbio->map_type & BTRFS_BLOCK_GROUP_RAID5) bbio 1230 fs/btrfs/scrub.c else if (bbio->map_type & BTRFS_BLOCK_GROUP_RAID6) bbio 1233 fs/btrfs/scrub.c return (int)bbio->num_stripes; bbio 1277 fs/btrfs/scrub.c struct btrfs_bio *bbio; bbio 1296 fs/btrfs/scrub.c bbio = NULL; bbio 1304 fs/btrfs/scrub.c logical, &mapped_length, &bbio); bbio 1305 fs/btrfs/scrub.c if (ret || !bbio || mapped_length < sublen) { bbio 1306 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 1313 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 1319 fs/btrfs/scrub.c recover->bbio = bbio; bbio 1324 fs/btrfs/scrub.c nmirrors = min(scrub_nr_raid_mirrors(bbio), BTRFS_MAX_MIRRORS); bbio 1356 fs/btrfs/scrub.c bbio->map_type, bbio 1357 fs/btrfs/scrub.c bbio->raid_map, bbio 1359 fs/btrfs/scrub.c bbio->num_stripes - bbio 1360 fs/btrfs/scrub.c bbio->num_tgtdevs, bbio 1364 fs/btrfs/scrub.c page->physical = bbio->stripes[stripe_index].physical + bbio 1366 fs/btrfs/scrub.c page->dev = bbio->stripes[stripe_index].dev; bbio 1409 fs/btrfs/scrub.c ret = raid56_parity_recover(fs_info, bio, page->recover->bbio, bbio 2167 fs/btrfs/scrub.c struct btrfs_bio *bbio = NULL; bbio 2175 fs/btrfs/scrub.c &length, &bbio); bbio 2176 fs/btrfs/scrub.c if (ret || !bbio || !bbio->raid_map) bbio 2180 fs/btrfs/scrub.c !(bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK))) { bbio 2195 fs/btrfs/scrub.c rbio = raid56_alloc_missing_rbio(fs_info, bio, bbio, length); bbio 2215 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 2754 fs/btrfs/scrub.c struct btrfs_bio *bbio = NULL; bbio 2766 fs/btrfs/scrub.c &length, &bbio); bbio 2767 fs/btrfs/scrub.c if (ret || !bbio || !bbio->raid_map) bbio 2775 fs/btrfs/scrub.c rbio = raid56_parity_alloc_scrub_rbio(fs_info, bio, bbio, bbio 2790 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 2829 fs/btrfs/scrub.c struct btrfs_bio *bbio = NULL; bbio 2968 fs/btrfs/scrub.c bbio = NULL; bbio 2970 fs/btrfs/scrub.c extent_logical, &mapped_length, &bbio, bbio 2973 fs/btrfs/scrub.c if (!bbio || mapped_length < extent_len) bbio 2977 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 2980 fs/btrfs/scrub.c extent_physical = bbio->stripes[0].physical; bbio 2981 fs/btrfs/scrub.c extent_mirror_num = bbio->mirror_num; bbio 2982 fs/btrfs/scrub.c extent_dev = bbio->stripes[0].dev; bbio 2983 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 4059 fs/btrfs/scrub.c struct btrfs_bio *bbio = NULL; bbio 4064 fs/btrfs/scrub.c &mapped_length, &bbio, 0); bbio 4065 fs/btrfs/scrub.c if (ret || !bbio || mapped_length < extent_len || bbio 4066 fs/btrfs/scrub.c !bbio->stripes[0].dev->bdev) { bbio 4067 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 4071 fs/btrfs/scrub.c *extent_physical = bbio->stripes[0].physical; bbio 4072 fs/btrfs/scrub.c *extent_mirror_num = bbio->mirror_num; bbio 4073 fs/btrfs/scrub.c *extent_dev = bbio->stripes[0].dev; bbio 4074 fs/btrfs/scrub.c btrfs_put_bbio(bbio); bbio 5568 fs/btrfs/volumes.c static void sort_parity_stripes(struct btrfs_bio *bbio, int num_stripes) bbio 5578 fs/btrfs/volumes.c if (parity_smaller(bbio->raid_map[i], bbio 5579 fs/btrfs/volumes.c bbio->raid_map[i+1])) { bbio 5580 fs/btrfs/volumes.c s = bbio->stripes[i]; bbio 5581 fs/btrfs/volumes.c l = bbio->raid_map[i]; bbio 5582 fs/btrfs/volumes.c bbio->stripes[i] = bbio->stripes[i+1]; bbio 5583 fs/btrfs/volumes.c bbio->raid_map[i] = bbio->raid_map[i+1]; bbio 5584 fs/btrfs/volumes.c bbio->stripes[i+1] = s; bbio 5585 fs/btrfs/volumes.c bbio->raid_map[i+1] = l; bbio 5595 fs/btrfs/volumes.c struct btrfs_bio *bbio = kzalloc( bbio 5609 fs/btrfs/volumes.c atomic_set(&bbio->error, 0); bbio 5610 fs/btrfs/volumes.c refcount_set(&bbio->refs, 1); bbio 5612 fs/btrfs/volumes.c return bbio; bbio 5615 fs/btrfs/volumes.c void btrfs_get_bbio(struct btrfs_bio *bbio) bbio 5617 fs/btrfs/volumes.c WARN_ON(!refcount_read(&bbio->refs)); bbio 5618 fs/btrfs/volumes.c refcount_inc(&bbio->refs); bbio 5621 fs/btrfs/volumes.c void btrfs_put_bbio(struct btrfs_bio *bbio) bbio 5623 fs/btrfs/volumes.c if (!bbio) bbio 5625 fs/btrfs/volumes.c if (refcount_dec_and_test(&bbio->refs)) bbio 5626 fs/btrfs/volumes.c kfree(bbio); bbio 5640 fs/btrfs/volumes.c struct btrfs_bio *bbio; bbio 5721 fs/btrfs/volumes.c bbio = alloc_btrfs_bio(num_stripes, 0); bbio 5722 fs/btrfs/volumes.c if (!bbio) { bbio 5728 fs/btrfs/volumes.c bbio->stripes[i].physical = bbio 5731 fs/btrfs/volumes.c bbio->stripes[i].dev = map->stripes[stripe_index].dev; bbio 5735 fs/btrfs/volumes.c bbio->stripes[i].length = stripes_per_dev * bbio 5739 fs/btrfs/volumes.c bbio->stripes[i].length += bbio 5751 fs/btrfs/volumes.c bbio->stripes[i].length -= bbio 5757 fs/btrfs/volumes.c bbio->stripes[i].length -= bbio 5763 fs/btrfs/volumes.c bbio->stripes[i].length = length; bbio 5773 fs/btrfs/volumes.c *bbio_ret = bbio; bbio 5774 fs/btrfs/volumes.c bbio->map_type = map->type; bbio 5775 fs/btrfs/volumes.c bbio->num_stripes = num_stripes; bbio 5799 fs/btrfs/volumes.c struct btrfs_bio *bbio = NULL; bbio 5808 fs/btrfs/volumes.c logical, &length, &bbio, 0, 0); bbio 5810 fs/btrfs/volumes.c ASSERT(bbio == NULL); bbio 5814 fs/btrfs/volumes.c num_stripes = bbio->num_stripes; bbio 5821 fs/btrfs/volumes.c btrfs_put_bbio(bbio); bbio 5831 fs/btrfs/volumes.c if (bbio->stripes[i].dev->devid != srcdev_devid) bbio 5839 fs/btrfs/volumes.c physical_of_found <= bbio->stripes[i].physical) bbio 5844 fs/btrfs/volumes.c physical_of_found = bbio->stripes[i].physical; bbio 5847 fs/btrfs/volumes.c btrfs_put_bbio(bbio); bbio 5863 fs/btrfs/volumes.c struct btrfs_bio *bbio = *bbio_ret; bbio 5886 fs/btrfs/volumes.c if (bbio->stripes[i].dev->devid == srcdev_devid) { bbio 5889 fs/btrfs/volumes.c bbio->stripes + index_where_to_add; bbio 5891 fs/btrfs/volumes.c bbio->stripes + i; bbio 5896 fs/btrfs/volumes.c bbio->tgtdev_map[i] = index_where_to_add; bbio 5916 fs/btrfs/volumes.c if (bbio->stripes[i].dev->devid == srcdev_devid) { bbio 5924 fs/btrfs/volumes.c bbio->stripes[i].physical) bbio 5928 fs/btrfs/volumes.c physical_of_found = bbio->stripes[i].physical; bbio 5933 fs/btrfs/volumes.c bbio->stripes + num_stripes; bbio 5937 fs/btrfs/volumes.c bbio->stripes[index_srcdev].length; bbio 5939 fs/btrfs/volumes.c bbio->tgtdev_map[index_srcdev] = num_stripes; bbio 5948 fs/btrfs/volumes.c bbio->num_tgtdevs = tgtdev_indexes; bbio 5949 fs/btrfs/volumes.c *bbio_ret = bbio; bbio 6075 fs/btrfs/volumes.c struct btrfs_bio *bbio = NULL; bbio 6230 fs/btrfs/volumes.c bbio = alloc_btrfs_bio(num_alloc_stripes, tgtdev_indexes); bbio 6231 fs/btrfs/volumes.c if (!bbio) { bbio 6236 fs/btrfs/volumes.c bbio->tgtdev_map = (int *)(bbio->stripes + num_alloc_stripes); bbio 6244 fs/btrfs/volumes.c bbio->raid_map = (u64 *)((void *)bbio->stripes + bbio 6255 fs/btrfs/volumes.c bbio->raid_map[(i+rot) % num_stripes] = bbio 6258 fs/btrfs/volumes.c bbio->raid_map[(i+rot) % map->num_stripes] = RAID5_P_STRIPE; bbio 6260 fs/btrfs/volumes.c bbio->raid_map[(i+rot+1) % num_stripes] = bbio 6266 fs/btrfs/volumes.c bbio->stripes[i].physical = bbio 6270 fs/btrfs/volumes.c bbio->stripes[i].dev = bbio 6278 fs/btrfs/volumes.c if (bbio->raid_map) bbio 6279 fs/btrfs/volumes.c sort_parity_stripes(bbio, num_stripes); bbio 6283 fs/btrfs/volumes.c handle_ops_on_dev_replace(op, &bbio, dev_replace, &num_stripes, bbio 6287 fs/btrfs/volumes.c *bbio_ret = bbio; bbio 6288 fs/btrfs/volumes.c bbio->map_type = map->type; bbio 6289 fs/btrfs/volumes.c bbio->num_stripes = num_stripes; bbio 6290 fs/btrfs/volumes.c bbio->max_errors = max_errors; bbio 6291 fs/btrfs/volumes.c bbio->mirror_num = mirror_num; bbio 6300 fs/btrfs/volumes.c bbio->stripes[0].dev = dev_replace->tgtdev; bbio 6301 fs/btrfs/volumes.c bbio->stripes[0].physical = physical_to_patch_in_first_stripe; bbio 6302 fs/btrfs/volumes.c bbio->mirror_num = map->num_stripes + 1; bbio 6399 fs/btrfs/volumes.c static inline void btrfs_end_bbio(struct btrfs_bio *bbio, struct bio *bio) bbio 6401 fs/btrfs/volumes.c bio->bi_private = bbio->private; bbio 6402 fs/btrfs/volumes.c bio->bi_end_io = bbio->end_io; bbio 6405 fs/btrfs/volumes.c btrfs_put_bbio(bbio); bbio 6410 fs/btrfs/volumes.c struct btrfs_bio *bbio = bio->bi_private; bbio 6414 fs/btrfs/volumes.c atomic_inc(&bbio->error); bbio 6421 fs/btrfs/volumes.c BUG_ON(stripe_index >= bbio->num_stripes); bbio 6422 fs/btrfs/volumes.c dev = bbio->stripes[stripe_index].dev; bbio 6437 fs/btrfs/volumes.c if (bio == bbio->orig_bio) bbio 6440 fs/btrfs/volumes.c btrfs_bio_counter_dec(bbio->fs_info); bbio 6442 fs/btrfs/volumes.c if (atomic_dec_and_test(&bbio->stripes_pending)) { bbio 6445 fs/btrfs/volumes.c bio = bbio->orig_bio; bbio 6448 fs/btrfs/volumes.c btrfs_io_bio(bio)->mirror_num = bbio->mirror_num; bbio 6452 fs/btrfs/volumes.c if (atomic_read(&bbio->error) > bbio->max_errors) { bbio 6462 fs/btrfs/volumes.c btrfs_end_bbio(bbio, bio); bbio 6512 fs/btrfs/volumes.c static void submit_stripe_bio(struct btrfs_bio *bbio, struct bio *bio, bbio 6515 fs/btrfs/volumes.c struct btrfs_device *dev = bbio->stripes[dev_nr].dev; bbio 6516 fs/btrfs/volumes.c struct btrfs_fs_info *fs_info = bbio->fs_info; bbio 6518 fs/btrfs/volumes.c bio->bi_private = bbio; bbio 6537 fs/btrfs/volumes.c static void bbio_error(struct btrfs_bio *bbio, struct bio *bio, u64 logical) bbio 6539 fs/btrfs/volumes.c atomic_inc(&bbio->error); bbio 6540 fs/btrfs/volumes.c if (atomic_dec_and_test(&bbio->stripes_pending)) { bbio 6542 fs/btrfs/volumes.c WARN_ON(bio != bbio->orig_bio); bbio 6544 fs/btrfs/volumes.c btrfs_io_bio(bio)->mirror_num = bbio->mirror_num; bbio 6546 fs/btrfs/volumes.c if (atomic_read(&bbio->error) > bbio->max_errors) bbio 6550 fs/btrfs/volumes.c btrfs_end_bbio(bbio, bio); bbio 6565 fs/btrfs/volumes.c struct btrfs_bio *bbio = NULL; bbio 6572 fs/btrfs/volumes.c &map_length, &bbio, mirror_num, 1); bbio 6578 fs/btrfs/volumes.c total_devs = bbio->num_stripes; bbio 6579 fs/btrfs/volumes.c bbio->orig_bio = first_bio; bbio 6580 fs/btrfs/volumes.c bbio->private = first_bio->bi_private; bbio 6581 fs/btrfs/volumes.c bbio->end_io = first_bio->bi_end_io; bbio 6582 fs/btrfs/volumes.c bbio->fs_info = fs_info; bbio 6583 fs/btrfs/volumes.c atomic_set(&bbio->stripes_pending, bbio->num_stripes); bbio 6585 fs/btrfs/volumes.c if ((bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK) && bbio 6590 fs/btrfs/volumes.c ret = raid56_parity_write(fs_info, bio, bbio, bbio 6593 fs/btrfs/volumes.c ret = raid56_parity_recover(fs_info, bio, bbio, bbio 6609 fs/btrfs/volumes.c dev = bbio->stripes[dev_nr].dev; bbio 6614 fs/btrfs/volumes.c bbio_error(bbio, first_bio, logical); bbio 6623 fs/btrfs/volumes.c submit_stripe_bio(bbio, bio, bbio->stripes[dev_nr].physical, bbio 421 fs/btrfs/volumes.h void btrfs_get_bbio(struct btrfs_bio *bbio); bbio 422 fs/btrfs/volumes.h void btrfs_put_bbio(struct btrfs_bio *bbio);