Lines Matching defs:bioc

6109 	struct btrfs_io_context *bioc;
6111 bioc = kzalloc(
6118 if (!bioc)
6121 refcount_set(&bioc->refs, 1);
6123 bioc->fs_info = fs_info;
6124 bioc->replace_stripe_src = -1;
6125 bioc->full_stripe_logical = (u64)-1;
6126 bioc->logical = logical;
6128 return bioc;
6131 void btrfs_get_bioc(struct btrfs_io_context *bioc)
6133 WARN_ON(!refcount_read(&bioc->refs));
6134 refcount_inc(&bioc->refs);
6137 void btrfs_put_bioc(struct btrfs_io_context *bioc)
6139 if (!bioc)
6141 if (refcount_dec_and_test(&bioc->refs))
6142 kfree(bioc);
6304 struct btrfs_io_context *bioc,
6337 struct btrfs_io_stripe *old = &bioc->stripes[i];
6338 struct btrfs_io_stripe *new = &bioc->stripes[num_stripes + nr_extra_stripes];
6345 if (bioc->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK)
6346 bioc->replace_stripe_src = i;
6358 struct btrfs_io_stripe *first = &bioc->stripes[num_stripes];
6359 struct btrfs_io_stripe *second = &bioc->stripes[num_stripes + 1];
6362 ASSERT(bioc->map_type & BTRFS_BLOCK_GROUP_DUP);
6377 bioc->replace_nr_stripes = nr_extra_stripes;
6642 struct btrfs_io_context *bioc = NULL;
6742 bioc = alloc_btrfs_io_context(fs_info, logical, num_alloc_stripes);
6743 if (!bioc) {
6747 bioc->map_type = map->type;
6766 bioc->full_stripe_logical = map->start +
6770 struct btrfs_io_stripe *dst = &bioc->stripes[i];
6783 * stripe into the bioc.
6787 &bioc->stripes[i], map, &io_geom);
6796 btrfs_put_bioc(bioc);
6805 handle_ops_on_dev_replace(op, bioc, dev_replace, logical,
6809 *bioc_ret = bioc;
6810 bioc->num_stripes = io_geom.num_stripes;
6811 bioc->max_errors = io_geom.max_errors;
6812 bioc->mirror_num = io_geom.mirror_num;
8319 static void map_raid56_repair_block(struct btrfs_io_context *bioc,
8323 int data_stripes = nr_bioc_data_stripes(bioc);
8327 u64 stripe_start = bioc->full_stripe_logical +
8335 smap->dev = bioc->stripes[i].dev;
8336 smap->physical = bioc->stripes[i].physical +
8337 ((logical - bioc->full_stripe_logical) &
8358 struct btrfs_io_context *bioc = NULL;
8366 &bioc, smap, &mirror_ret);
8374 if (!bioc)
8378 if (bioc->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK) {
8379 map_raid56_repair_block(bioc, smap, logical);
8383 ASSERT(mirror_num <= bioc->num_stripes);
8384 smap->dev = bioc->stripes[mirror_num - 1].dev;
8385 smap->physical = bioc->stripes[mirror_num - 1].physical;
8387 btrfs_put_bioc(bioc);