• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/md/

Lines Matching refs:mddev

65 	mddev_t *mddev = mp_bh->mddev;
66 multipath_conf_t *conf = mddev_to_conf(mddev);
71 md_wakeup_thread(mddev->thread);
83 multipath_conf_t *conf = mddev_to_conf(mp_bh->mddev);
94 multipath_conf_t *conf = mddev_to_conf(mp_bh->mddev);
107 md_error (mp_bh->mddev, rdev);
114 rdev_dec_pending(rdev, conf->mddev);
118 static void unplug_slaves(mddev_t *mddev)
120 multipath_conf_t *conf = mddev_to_conf(mddev);
124 for (i=0; i<mddev->raid_disks; i++) {
136 rdev_dec_pending(rdev, mddev);
151 mddev_t *mddev = q->queuedata;
152 multipath_conf_t *conf = mddev_to_conf(mddev);
165 mp_bh->mddev = mddev;
167 disk_stat_inc(mddev->gendisk, ios[rw]);
168 disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bio));
188 static void multipath_status (struct seq_file *seq, mddev_t *mddev)
190 multipath_conf_t *conf = mddev_to_conf(mddev);
205 mddev_t *mddev = q->queuedata;
206 multipath_conf_t *conf = mddev_to_conf(mddev);
210 for (i=0; i<mddev->raid_disks && ret == 0; i++) {
223 rdev_dec_pending(rdev, mddev);
233 mddev_t *mddev = data;
234 multipath_conf_t *conf = mddev_to_conf(mddev);
238 for (i = 0; i < mddev->raid_disks ; i++) {
257 static void multipath_error (mddev_t *mddev, mdk_rdev_t *rdev)
259 multipath_conf_t *conf = mddev_to_conf(mddev);
278 set_bit(MD_CHANGE_DEVS, &mddev->flags);
280 mddev->degraded++;
314 static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
316 multipath_conf_t *conf = mddev->private;
324 for (path=0; path<mddev->raid_disks; path++)
327 blk_queue_stack_limits(mddev->queue, q);
336 mddev->queue->max_sectors > (PAGE_SIZE>>9))
337 blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9);
340 mddev->degraded--;
351 static int multipath_remove_disk(mddev_t *mddev, int number)
353 multipath_conf_t *conf = mddev->private;
392 static void multipathd (mddev_t *mddev)
397 multipath_conf_t *conf = mddev_to_conf(mddev);
400 md_check_recovery(mddev);
436 static int multipath_run (mddev_t *mddev)
444 if (mddev->level != LEVEL_MULTIPATH) {
446 mdname(mddev), mddev->level);
456 mddev->private = conf;
460 mdname(mddev));
464 conf->multipaths = kzalloc(sizeof(struct multipath_info)*mddev->raid_disks,
469 mdname(mddev));
474 ITERATE_RDEV(mddev,rdev,tmp) {
477 disk_idx >= mddev->raid_disks)
483 blk_queue_stack_limits(mddev->queue,
489 mddev->queue->max_sectors > (PAGE_SIZE>>9))
490 blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9);
496 conf->raid_disks = mddev->raid_disks;
497 conf->mddev = mddev;
503 mdname(mddev));
506 mddev->degraded = conf->raid_disks - conf->working_disks;
513 mdname(mddev));
518 mddev->thread = md_register_thread(multipathd, mddev, "%s_multipath");
519 if (!mddev->thread) {
521 " for %s\n", mdname(mddev));
528 mdname(mddev), conf->working_disks, mddev->raid_disks);
532 mddev->array_size = mddev->size;
534 mddev->queue->unplug_fn = multipath_unplug;
535 mddev->queue->issue_flush_fn = multipath_issue_flush;
536 mddev->queue->backing_dev_info.congested_fn = multipath_congested;
537 mddev->queue->backing_dev_info.congested_data = mddev;
546 mddev->private = NULL;
552 static int multipath_stop (mddev_t *mddev)
554 multipath_conf_t *conf = mddev_to_conf(mddev);
556 md_unregister_thread(mddev->thread);
557 mddev->thread = NULL;
558 blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
562 mddev->private = NULL;