• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/md/

Lines Matching refs:mddev

61 	mddev_t *mddev = mp_bh->mddev;
62 multipath_conf_t *conf = mddev->private;
67 md_wakeup_thread(mddev->thread);
79 multipath_conf_t *conf = mp_bh->mddev->private;
89 multipath_conf_t *conf = mp_bh->mddev->private;
99 md_error (mp_bh->mddev, rdev);
106 rdev_dec_pending(rdev, conf->mddev);
109 static void unplug_slaves(mddev_t *mddev)
111 multipath_conf_t *conf = mddev->private;
115 for (i=0; i<mddev->raid_disks; i++) {
126 rdev_dec_pending(rdev, mddev);
139 static int multipath_make_request(mddev_t *mddev, struct bio * bio)
141 multipath_conf_t *conf = mddev->private;
146 md_barrier_request(mddev, bio);
153 mp_bh->mddev = mddev;
173 static void multipath_status (struct seq_file *seq, mddev_t *mddev)
175 multipath_conf_t *conf = mddev->private;
189 mddev_t *mddev = data;
190 multipath_conf_t *conf = mddev->private;
193 if (mddev_congested(mddev, bits))
197 for (i = 0; i < mddev->raid_disks ; i++) {
216 static void multipath_error (mddev_t *mddev, mdk_rdev_t *rdev)
218 multipath_conf_t *conf = mddev->private;
237 set_bit(MD_CHANGE_DEVS, &mddev->flags);
239 mddev->degraded++;
274 static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
276 multipath_conf_t *conf = mddev->private;
282 int last = mddev->raid_disks - 1;
292 disk_stack_limits(mddev->gendisk, rdev->bdev,
302 blk_queue_max_segments(mddev->queue, 1);
303 blk_queue_segment_boundary(mddev->queue,
308 mddev->degraded--;
313 md_integrity_add_rdev(rdev, mddev);
322 static int multipath_remove_disk(mddev_t *mddev, int number)
324 multipath_conf_t *conf = mddev->private;
348 md_integrity_register(mddev);
366 static void multipathd (mddev_t *mddev)
371 multipath_conf_t *conf = mddev->private;
374 md_check_recovery(mddev);
410 static sector_t multipath_size(mddev_t *mddev, sector_t sectors, int raid_disks)
415 return mddev->dev_sectors;
418 static int multipath_run (mddev_t *mddev)
425 if (md_check_no_bitmap(mddev))
428 if (mddev->level != LEVEL_MULTIPATH) {
430 mdname(mddev), mddev->level);
438 mddev->queue->queue_lock = &mddev->queue->__queue_lock;
441 mddev->private = conf;
445 mdname(mddev));
449 conf->multipaths = kzalloc(sizeof(struct multipath_info)*mddev->raid_disks,
454 mdname(mddev));
459 list_for_each_entry(rdev, &mddev->disks, same_set) {
462 disk_idx >= mddev->raid_disks)
467 disk_stack_limits(mddev->gendisk, rdev->bdev,
474 blk_queue_max_segments(mddev->queue, 1);
475 blk_queue_segment_boundary(mddev->queue,
483 conf->raid_disks = mddev->raid_disks;
484 conf->mddev = mddev;
490 mdname(mddev));
493 mddev->degraded = conf->raid_disks - conf->working_disks;
500 mdname(mddev));
505 mddev->thread = md_register_thread(multipathd, mddev, NULL);
506 if (!mddev->thread) {
508 " for %s\n", mdname(mddev));
515 mdname(mddev), conf->working_disks, mddev->raid_disks);
519 md_set_array_sectors(mddev, multipath_size(mddev, 0, 0));
521 mddev->queue->unplug_fn = multipath_unplug;
522 mddev->queue->backing_dev_info.congested_fn = multipath_congested;
523 mddev->queue->backing_dev_info.congested_data = mddev;
524 md_integrity_register(mddev);
532 mddev->private = NULL;
538 static int multipath_stop (mddev_t *mddev)
540 multipath_conf_t *conf = mddev->private;
542 md_unregister_thread(mddev->thread);
543 mddev->thread = NULL;
544 blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
548 mddev->private = NULL;