Lines Matching refs:conf
41 struct r0conf *conf = mddev->private; in dump_zones() local
42 int raid_disks = conf->strip_zone[0].nb_dev; in dump_zones()
45 conf->nr_strip_zones, conf->nr_strip_zones==1?"":"s"); in dump_zones()
46 for (j = 0; j < conf->nr_strip_zones; j++) { in dump_zones()
50 for (k = 0; k < conf->strip_zone[j].nb_dev; k++) in dump_zones()
52 bdevname(conf->devlist[j*raid_disks in dump_zones()
56 zone_size = conf->strip_zone[j].zone_end - zone_start; in dump_zones()
59 (unsigned long long)conf->strip_zone[j].dev_start>>1, in dump_zones()
61 zone_start = conf->strip_zone[j].zone_end; in dump_zones()
74 struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL); in create_strip_zones() local
78 if (!conf) in create_strip_zones()
123 conf->nr_strip_zones++; in create_strip_zones()
125 mdname(mddev), conf->nr_strip_zones); in create_strip_zones()
129 mdname(mddev), conf->nr_strip_zones); in create_strip_zones()
144 conf->strip_zone = kcalloc(conf->nr_strip_zones, in create_strip_zones()
147 if (!conf->strip_zone) in create_strip_zones()
149 conf->devlist = kzalloc(array3_size(sizeof(struct md_rdev *), in create_strip_zones()
150 conf->nr_strip_zones, in create_strip_zones()
153 if (!conf->devlist) in create_strip_zones()
159 zone = &conf->strip_zone[0]; in create_strip_zones()
162 dev = conf->devlist; in create_strip_zones()
213 for (i = 1; i < conf->nr_strip_zones; i++) in create_strip_zones()
217 zone = conf->strip_zone + i; in create_strip_zones()
218 dev = conf->devlist + i * mddev->raid_disks; in create_strip_zones()
226 rdev = conf->devlist[j]; in create_strip_zones()
261 if (conf->nr_strip_zones == 1 || conf->strip_zone[1].nb_dev == 1) { in create_strip_zones()
262 conf->layout = RAID0_ORIG_LAYOUT; in create_strip_zones()
265 conf->layout = mddev->layout; in create_strip_zones()
268 conf->layout = default_layout; in create_strip_zones()
278 *private_conf = conf; in create_strip_zones()
282 kfree(conf->strip_zone); in create_strip_zones()
283 kfree(conf->devlist); in create_strip_zones()
284 kfree(conf); in create_strip_zones()
292 static struct strip_zone *find_zone(struct r0conf *conf, in find_zone() argument
296 struct strip_zone *z = conf->strip_zone; in find_zone()
299 for (i = 0; i < conf->nr_strip_zones; i++) in find_zone()
317 struct r0conf *conf = mddev->private; in map_sector() local
318 int raid_disks = conf->strip_zone[0].nb_dev; in map_sector()
341 return conf->devlist[(zone - conf->strip_zone)*raid_disks in map_sector()
364 struct r0conf *conf; in raid0_run() local
376 ret = create_strip_zones(mddev, &conf); in raid0_run()
379 mddev->private = conf; in raid0_run()
381 conf = mddev->private; in raid0_run()
423 struct r0conf *conf = priv; in raid0_free() local
425 kfree(conf->strip_zone); in raid0_free()
426 kfree(conf->devlist); in raid0_free()
427 kfree(conf); in raid0_free()
432 struct r0conf *conf = mddev->private; in raid0_handle_discard() local
444 zone = find_zone(conf, &start); in raid0_handle_discard()
457 if (zone != conf->strip_zone) in raid0_handle_discard()
502 rdev = conf->devlist[(zone - conf->strip_zone) * in raid0_handle_discard()
503 conf->strip_zone[0].nb_dev + disk]; in raid0_handle_discard()
522 struct r0conf *conf = mddev->private; in raid0_make_request() local
562 switch (conf->layout) { in raid0_make_request()