Lines Matching refs:stripes
3041 * with map stripes (dev-replace.c:btrfs_dev_replace_finishing()).
3045 struct btrfs_device *device = map->stripes[i].dev;
3047 map->stripes[i].physical,
3658 /* stripes filter */
4016 CHECK_APPEND_2ARG("stripes=%u..%u,",
4918 /* Total number of stripes to allocate */
4932 /* Number of stripes worth of bytes to store parity information */
5078 /* Number of stripes that count for block group size */
5082 * The primary goal is to maximize the number of stripes, so use as
5083 * many devices as possible, even if the stripes are not maximum sized.
5096 * Use the number of data stripes to figure out how big this chunk is
5126 * Round down to number of usable stripes, devs_increment can be any
5173 map->stripes[s].dev = devices_info[i].dev;
5174 map->stripes[s].physical = devices_info[i].dev_offset +
5214 struct btrfs_device *dev = map->stripes[i].dev;
5338 * with the map's stripes, because the device object's id can change
5344 device = map->stripes[i].dev;
5345 dev_offset = map->stripes[i].physical;
5362 device = map->stripes[i].dev;
5363 dev_offset = map->stripes[i].physical;
5439 &map->stripes[i].dev->dev_state)) {
5444 &map->stripes[i].dev->dev_state)) {
5506 * There could be two corrupted data stripes, we need
5594 if (map->stripes[preferred_mirror].dev->bdev &&
5595 (tolerance || map->stripes[preferred_mirror].dev != srcdev))
5598 if (map->stripes[i].dev->bdev &&
5599 (tolerance || map->stripes[i].dev != srcdev))
5610 /* Bubble-sort the stripe set to put the parity/syndrome stripes last */
5621 swap(bbio->stripes[i], bbio->stripes[i + 1]);
5634 /* plus the variable array for the stripes */
5640 * and the stripes
5648 bbio->tgtdev_map = (int *)(bbio->stripes + total_stripes);
5718 * stripe_nr counts the total number of stripes we have to stride
5732 * after this, stripe_nr is the number of stripes on this
5769 bbio->stripes[i].physical =
5770 map->stripes[stripe_index].physical +
5772 bbio->stripes[i].dev = map->stripes[stripe_index].dev;
5776 bbio->stripes[i].length = stripes_per_dev *
5780 bbio->stripes[i].length +=
5792 bbio->stripes[i].length -=
5798 bbio->stripes[i].length -=
5804 bbio->stripes[i].length = length;
5828 * array of stripes.
5872 if (bbio->stripes[i].dev->devid != srcdev_devid)
5880 physical_of_found <= bbio->stripes[i].physical)
5885 physical_of_found = bbio->stripes[i].physical;
5922 * the write to the old disk is already set up in the stripes
5927 if (bbio->stripes[i].dev->devid == srcdev_devid) {
5930 bbio->stripes + index_where_to_add;
5932 bbio->stripes + i;
5957 if (bbio->stripes[i].dev->devid == srcdev_devid) {
5965 bbio->stripes[i].physical)
5969 physical_of_found = bbio->stripes[i].physical;
5974 bbio->stripes + num_stripes;
5978 bbio->stripes[index_srcdev].length;
6064 * don't allow straddling of stripes
6217 /* RAID[56] write or recovery. Return all stripes */
6235 /* We distribute the parity blocks across stripes */
6243 * after this, stripe_nr is the number of stripes on this
6275 bbio->stripes[i].physical = map->stripes[stripe_index].physical +
6277 bbio->stripes[i].dev = map->stripes[stripe_index].dev;
6326 bbio->stripes[0].dev = dev_replace->tgtdev;
6327 bbio->stripes[0].physical = physical_to_patch_in_first_stripe;
6517 dev = bbio->stripes[dev_nr].dev;
6531 submit_stripe_bio(bbio, bio, bbio->stripes[dev_nr].physical, dev);
6748 map->stripes[i].physical =
6754 map->stripes[i].dev = btrfs_find_device(fs_info->fs_devices,
6756 if (!map->stripes[i].dev &&
6762 if (!map->stripes[i].dev) {
6763 map->stripes[i].dev =
6766 if (IS_ERR(map->stripes[i].dev)) {
6770 devid, PTR_ERR(map->stripes[i].dev));
6771 return PTR_ERR(map->stripes[i].dev);
6776 &(map->stripes[i].dev->dev_state));
7050 "invalid number of stripes %u in sys_array at offset %u",
7124 struct btrfs_device *dev = map->stripes[i].dev;
7661 if (map->stripes[i].dev->devid == devid &&
7662 map->stripes[i].physical == physical_offset) {