Lines Matching refs:zone
68 struct strip_zone *zone; in create_strip_zones() local
155 zone = &conf->strip_zone[0]; in create_strip_zones()
203 zone->nb_dev = cnt; in create_strip_zones()
204 zone->zone_end = smallest->sectors * cnt; in create_strip_zones()
206 curr_zone_end = zone->zone_end; in create_strip_zones()
213 zone = conf->strip_zone + i; in create_strip_zones()
217 zone->dev_start = smallest->sectors; in create_strip_zones()
223 if (rdev->sectors <= zone->dev_start) { in create_strip_zones()
243 zone->nb_dev = c; in create_strip_zones()
244 sectors = (smallest->sectors - zone->dev_start) * c; in create_strip_zones()
247 zone->nb_dev, (unsigned long long)sectors); in create_strip_zones()
250 zone->zone_end = curr_zone_end; in create_strip_zones()
278 zone = conf->strip_zone + i; in create_strip_zones()
280 zone->disk_shift = sector_div(first_sector, in create_strip_zones()
281 zone->nb_dev); in create_strip_zones()
320 static struct md_rdev *map_sector(struct mddev *mddev, struct strip_zone *zone, in map_sector() argument
337 sector_div(chunk, zone->nb_dev << chunksect_bits); in map_sector()
341 sector_div(chunk, chunk_sects * zone->nb_dev); in map_sector()
349 return conf->devlist[(zone - conf->strip_zone)*raid_disks in map_sector()
350 + sector_div(sector, zone->nb_dev)]; in map_sector()
448 struct strip_zone *zone; in raid0_handle_discard() local
461 zone = find_zone(conf, &start); in raid0_handle_discard()
463 if (bio_end_sector(bio) > zone->zone_end) { in raid0_handle_discard()
465 zone->zone_end - bio->bi_iter.bi_sector, GFP_NOIO, in raid0_handle_discard()
470 end = zone->zone_end; in raid0_handle_discard()
475 if (zone != conf->strip_zone) in raid0_handle_discard()
476 end = end - zone[-1].zone_end; in raid0_handle_discard()
479 stripe_size = zone->nb_dev * mddev->chunk_sectors; in raid0_handle_discard()
487 if ((conf->layout == RAID0_ORIG_LAYOUT) && (zone != conf->strip_zone)) { in raid0_handle_discard()
489 start_disk_index = sector_div(orig_start, zone->nb_dev); in raid0_handle_discard()
491 zone->nb_dev, in raid0_handle_discard()
492 zone->disk_shift); in raid0_handle_discard()
494 end_disk_index = sector_div(orig_end, zone->nb_dev); in raid0_handle_discard()
496 zone->nb_dev, zone->disk_shift); in raid0_handle_discard()
510 for (disk = 0; disk < zone->nb_dev; disk++) { in raid0_handle_discard()
515 compare_disk = map_disk_shift(disk, zone->nb_dev, in raid0_handle_discard()
516 zone->disk_shift); in raid0_handle_discard()
536 rdev = conf->devlist[(zone - conf->strip_zone) * in raid0_handle_discard()
539 dev_start + zone->dev_start + rdev->data_offset, in raid0_handle_discard()
548 struct strip_zone *zone; in raid0_map_submit_bio() local
555 zone = find_zone(mddev->private, §or); in raid0_map_submit_bio()
558 tmp_dev = map_sector(mddev, zone, bio_sector, §or); in raid0_map_submit_bio()
561 tmp_dev = map_sector(mddev, zone, sector, §or); in raid0_map_submit_bio()
576 bio->bi_iter.bi_sector = sector + zone->dev_start + in raid0_map_submit_bio()