• Home
  • Raw
  • Download

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()
277 if (conf->layout == RAID0_ORIG_LAYOUT) { in create_strip_zones()
278 for (i = 1; i < conf->nr_strip_zones; i++) { in create_strip_zones()
279 sector_t first_sector = conf->strip_zone[i-1].zone_end; in create_strip_zones()
282 zone = conf->strip_zone + i; in create_strip_zones()
290 *private_conf = conf; in create_strip_zones()
294 kfree(conf->strip_zone); in create_strip_zones()
295 kfree(conf->devlist); in create_strip_zones()
296 kfree(conf); in create_strip_zones()
304 static struct strip_zone *find_zone(struct r0conf *conf, in find_zone() argument
308 struct strip_zone *z = conf->strip_zone; in find_zone()
311 for (i = 0; i < conf->nr_strip_zones; i++) in find_zone()
329 struct r0conf *conf = mddev->private; in map_sector() local
330 int raid_disks = conf->strip_zone[0].nb_dev; in map_sector()
353 return conf->devlist[(zone - conf->strip_zone)*raid_disks in map_sector()
372 static void free_conf(struct mddev *mddev, struct r0conf *conf) in free_conf() argument
374 kfree(conf->strip_zone); in free_conf()
375 kfree(conf->devlist); in free_conf()
376 kfree(conf); in free_conf()
381 struct r0conf *conf = priv; in raid0_free() local
383 free_conf(mddev, conf); in raid0_free()
389 struct r0conf *conf; in raid0_run() local
406 ret = create_strip_zones(mddev, &conf); in raid0_run()
409 mddev->private = conf; in raid0_run()
411 conf = mddev->private; in raid0_run()
453 free_conf(mddev, conf); in raid0_run()
475 struct r0conf *conf = mddev->private; in raid0_handle_discard() local
489 zone = find_zone(conf, &start); in raid0_handle_discard()
503 if (zone != conf->strip_zone) in raid0_handle_discard()
515 if ((conf->layout == RAID0_ORIG_LAYOUT) && (zone != conf->strip_zone)) { in raid0_handle_discard()
564 rdev = conf->devlist[(zone - conf->strip_zone) * in raid0_handle_discard()
565 conf->strip_zone[0].nb_dev + disk]; in raid0_handle_discard()
575 struct r0conf *conf = mddev->private; in raid0_map_submit_bio() local
584 switch (conf->layout) { in raid0_map_submit_bio()