Lines Matching refs:zone
71 struct strip_zone *zone; in create_strip_zones() local
160 zone = &conf->strip_zone[0]; in create_strip_zones()
208 zone->nb_dev = cnt; in create_strip_zones()
209 zone->zone_end = smallest->sectors * cnt; in create_strip_zones()
211 curr_zone_end = zone->zone_end; in create_strip_zones()
218 zone = conf->strip_zone + i; in create_strip_zones()
222 zone->dev_start = smallest->sectors; in create_strip_zones()
228 if (rdev->sectors <= zone->dev_start) { in create_strip_zones()
248 zone->nb_dev = c; in create_strip_zones()
249 sectors = (smallest->sectors - zone->dev_start) * c; in create_strip_zones()
252 zone->nb_dev, (unsigned long long)sectors); in create_strip_zones()
255 zone->zone_end = curr_zone_end; in create_strip_zones()
283 zone = conf->strip_zone + i; in create_strip_zones()
285 zone->disk_shift = sector_div(first_sector, in create_strip_zones()
286 zone->nb_dev); in create_strip_zones()
325 static struct md_rdev *map_sector(struct mddev *mddev, struct strip_zone *zone, in map_sector() argument
342 sector_div(chunk, zone->nb_dev << chunksect_bits); in map_sector()
346 sector_div(chunk, chunk_sects * zone->nb_dev); in map_sector()
354 return conf->devlist[(zone - conf->strip_zone)*raid_disks in map_sector()
355 + sector_div(sector, zone->nb_dev)]; in map_sector()
460 struct strip_zone *zone; in raid0_handle_discard() local
473 zone = find_zone(conf, &start); in raid0_handle_discard()
475 if (bio_end_sector(bio) > zone->zone_end) { in raid0_handle_discard()
477 zone->zone_end - bio->bi_iter.bi_sector, in raid0_handle_discard()
482 end = zone->zone_end; in raid0_handle_discard()
488 if (zone != conf->strip_zone) in raid0_handle_discard()
489 end = end - zone[-1].zone_end; in raid0_handle_discard()
492 stripe_size = zone->nb_dev * mddev->chunk_sectors; in raid0_handle_discard()
500 if ((conf->layout == RAID0_ORIG_LAYOUT) && (zone != conf->strip_zone)) { in raid0_handle_discard()
502 start_disk_index = sector_div(orig_start, zone->nb_dev); in raid0_handle_discard()
504 zone->nb_dev, in raid0_handle_discard()
505 zone->disk_shift); in raid0_handle_discard()
507 end_disk_index = sector_div(orig_end, zone->nb_dev); in raid0_handle_discard()
509 zone->nb_dev, zone->disk_shift); in raid0_handle_discard()
523 for (disk = 0; disk < zone->nb_dev; disk++) { in raid0_handle_discard()
528 compare_disk = map_disk_shift(disk, zone->nb_dev, in raid0_handle_discard()
529 zone->disk_shift); in raid0_handle_discard()
549 rdev = conf->devlist[(zone - conf->strip_zone) * in raid0_handle_discard()
552 dev_start + zone->dev_start + rdev->data_offset, in raid0_handle_discard()
561 struct strip_zone *zone; in raid0_map_submit_bio() local
568 zone = find_zone(mddev->private, §or); in raid0_map_submit_bio()
571 tmp_dev = map_sector(mddev, zone, bio_sector, §or); in raid0_map_submit_bio()
574 tmp_dev = map_sector(mddev, zone, sector, §or); in raid0_map_submit_bio()
589 bio->bi_iter.bi_sector = sector + zone->dev_start + in raid0_map_submit_bio()