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);