• Home
  • Raw
  • Download

Lines Matching refs:mddev

56 	mddev_t *mddev = mp_bh->mddev;  in multipath_reschedule_retry()  local
57 multipath_conf_t *conf = mddev_to_conf(mddev); in multipath_reschedule_retry()
62 md_wakeup_thread(mddev->thread); in multipath_reschedule_retry()
74 multipath_conf_t *conf = mddev_to_conf(mp_bh->mddev); in multipath_end_bh_io()
84 multipath_conf_t *conf = mddev_to_conf(mp_bh->mddev); in multipath_end_request()
94 md_error (mp_bh->mddev, rdev); in multipath_end_request()
101 rdev_dec_pending(rdev, conf->mddev); in multipath_end_request()
104 static void unplug_slaves(mddev_t *mddev) in unplug_slaves() argument
106 multipath_conf_t *conf = mddev_to_conf(mddev); in unplug_slaves()
110 for (i=0; i<mddev->raid_disks; i++) { in unplug_slaves()
121 rdev_dec_pending(rdev, mddev); in unplug_slaves()
136 mddev_t *mddev = q->queuedata; in multipath_make_request() local
137 multipath_conf_t *conf = mddev_to_conf(mddev); in multipath_make_request()
151 mp_bh->mddev = mddev; in multipath_make_request()
154 part_stat_inc(cpu, &mddev->gendisk->part0, ios[rw]); in multipath_make_request()
155 part_stat_add(cpu, &mddev->gendisk->part0, sectors[rw], in multipath_make_request()
177 static void multipath_status (struct seq_file *seq, mddev_t *mddev) in multipath_status() argument
179 multipath_conf_t *conf = mddev_to_conf(mddev); in multipath_status()
193 mddev_t *mddev = data; in multipath_congested() local
194 multipath_conf_t *conf = mddev_to_conf(mddev); in multipath_congested()
198 for (i = 0; i < mddev->raid_disks ; i++) { in multipath_congested()
217 static void multipath_error (mddev_t *mddev, mdk_rdev_t *rdev) in multipath_error() argument
219 multipath_conf_t *conf = mddev_to_conf(mddev); in multipath_error()
238 set_bit(MD_CHANGE_DEVS, &mddev->flags); in multipath_error()
240 mddev->degraded++; in multipath_error()
275 static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) in multipath_add_disk() argument
277 multipath_conf_t *conf = mddev->private; in multipath_add_disk()
283 int last = mddev->raid_disks - 1; in multipath_add_disk()
293 blk_queue_stack_limits(mddev->queue, q); in multipath_add_disk()
302 mddev->queue->max_sectors > (PAGE_SIZE>>9)) in multipath_add_disk()
303 blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); in multipath_add_disk()
306 mddev->degraded--; in multipath_add_disk()
319 static int multipath_remove_disk(mddev_t *mddev, int number) in multipath_remove_disk() argument
321 multipath_conf_t *conf = mddev->private; in multipath_remove_disk()
361 static void multipathd (mddev_t *mddev) in multipathd() argument
366 multipath_conf_t *conf = mddev_to_conf(mddev); in multipathd()
369 md_check_recovery(mddev); in multipathd()
405 static int multipath_run (mddev_t *mddev) in multipath_run() argument
412 if (mddev->level != LEVEL_MULTIPATH) { in multipath_run()
414 mdname(mddev), mddev->level); in multipath_run()
422 mddev->queue->queue_lock = &mddev->queue->__queue_lock; in multipath_run()
425 mddev->private = conf; in multipath_run()
429 mdname(mddev)); in multipath_run()
433 conf->multipaths = kzalloc(sizeof(struct multipath_info)*mddev->raid_disks, in multipath_run()
438 mdname(mddev)); in multipath_run()
443 list_for_each_entry(rdev, &mddev->disks, same_set) { in multipath_run()
446 disk_idx >= mddev->raid_disks) in multipath_run()
452 blk_queue_stack_limits(mddev->queue, in multipath_run()
458 mddev->queue->max_sectors > (PAGE_SIZE>>9)) in multipath_run()
459 blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); in multipath_run()
465 conf->raid_disks = mddev->raid_disks; in multipath_run()
466 conf->mddev = mddev; in multipath_run()
472 mdname(mddev)); in multipath_run()
475 mddev->degraded = conf->raid_disks - conf->working_disks; in multipath_run()
482 mdname(mddev)); in multipath_run()
487 mddev->thread = md_register_thread(multipathd, mddev, "%s_multipath"); in multipath_run()
488 if (!mddev->thread) { in multipath_run()
490 " for %s\n", mdname(mddev)); in multipath_run()
497 mdname(mddev), conf->working_disks, mddev->raid_disks); in multipath_run()
501 mddev->array_sectors = mddev->size * 2; in multipath_run()
503 mddev->queue->unplug_fn = multipath_unplug; in multipath_run()
504 mddev->queue->backing_dev_info.congested_fn = multipath_congested; in multipath_run()
505 mddev->queue->backing_dev_info.congested_data = mddev; in multipath_run()
514 mddev->private = NULL; in multipath_run()
520 static int multipath_stop (mddev_t *mddev) in multipath_stop() argument
522 multipath_conf_t *conf = mddev_to_conf(mddev); in multipath_stop()
524 md_unregister_thread(mddev->thread); in multipath_stop()
525 mddev->thread = NULL; in multipath_stop()
526 blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/ in multipath_stop()
530 mddev->private = NULL; in multipath_stop()