• 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 defs:mp_bh

58 static void multipath_reschedule_retry (struct multipath_bh *mp_bh)
61 mddev_t *mddev = mp_bh->mddev;
65 list_add(&mp_bh->retry_list, &conf->retry_list);
76 static void multipath_end_bh_io (struct multipath_bh *mp_bh, int err)
78 struct bio *bio = mp_bh->master_bio;
79 multipath_conf_t *conf = mp_bh->mddev->private;
82 mempool_free(mp_bh, conf->pool);
88 struct multipath_bh *mp_bh = bio->bi_private;
89 multipath_conf_t *conf = mp_bh->mddev->private;
90 mdk_rdev_t *rdev = conf->multipaths[mp_bh->path].rdev;
93 multipath_end_bh_io(mp_bh, 0);
99 md_error (mp_bh->mddev, rdev);
103 multipath_reschedule_retry(mp_bh);
105 multipath_end_bh_io(mp_bh, error);
142 struct multipath_bh * mp_bh;
150 mp_bh = mempool_alloc(conf->pool, GFP_NOIO);
152 mp_bh->master_bio = bio;
153 mp_bh->mddev = mddev;
155 mp_bh->path = multipath_map(conf);
156 if (mp_bh->path < 0) {
158 mempool_free(mp_bh, conf->pool);
161 multipath = conf->multipaths + mp_bh->path;
163 mp_bh->bio = *bio;
164 mp_bh->bio.bi_sector += multipath->rdev->data_offset;
165 mp_bh->bio.bi_bdev = multipath->rdev->bdev;
166 mp_bh->bio.bi_rw |= REQ_FAILFAST_TRANSPORT;
167 mp_bh->bio.bi_end_io = multipath_end_request;
168 mp_bh->bio.bi_private = mp_bh;
169 generic_make_request(&mp_bh->bio);
368 struct multipath_bh *mp_bh;
380 mp_bh = list_entry(head->prev, struct multipath_bh, retry_list);
384 bio = &mp_bh->bio;
385 bio->bi_sector = mp_bh->master_bio->bi_sector;
387 if ((mp_bh->path = multipath_map (conf))<0) {
392 multipath_end_bh_io(mp_bh, -EIO);
398 *bio = *(mp_bh->master_bio);
399 bio->bi_sector += conf->multipaths[mp_bh->path].rdev->data_offset;
400 bio->bi_bdev = conf->multipaths[mp_bh->path].rdev->bdev;
403 bio->bi_private = mp_bh;