]> Pileus Git - ~andy/linux/blobdiff - drivers/md/faulty.c
Merge branch 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / drivers / md / faulty.c
index 8e3850b98cca508f2bb60de9aa0c843c3328779b..339fdc670751c086e760d89cedd22937b5639a7f 100644 (file)
@@ -169,10 +169,9 @@ static void add_sector(conf_t *conf, sector_t start, int mode)
                conf->nfaults = n+1;
 }
 
-static int make_request(struct request_queue *q, struct bio *bio)
+static int make_request(mddev_t *mddev, struct bio *bio)
 {
-       mddev_t *mddev = q->queuedata;
-       conf_t *conf = (conf_t*)mddev->private;
+       conf_t *conf = mddev->private;
        int failit = 0;
 
        if (bio_data_dir(bio) == WRITE) {
@@ -211,7 +210,7 @@ static int make_request(struct request_queue *q, struct bio *bio)
                }
        }
        if (failit) {
-               struct bio *b = bio_clone(bio, GFP_NOIO);
+               struct bio *b = bio_clone_mddev(bio, GFP_NOIO, mddev);
                b->bi_bdev = conf->rdev->bdev;
                b->bi_private = bio;
                b->bi_end_io = faulty_fail;
@@ -225,7 +224,7 @@ static int make_request(struct request_queue *q, struct bio *bio)
 
 static void status(struct seq_file *seq, mddev_t *mddev)
 {
-       conf_t *conf = (conf_t*)mddev->private;
+       conf_t *conf = mddev->private;
        int n;
 
        if ((n=atomic_read(&conf->counters[WriteTransient])) != 0)
@@ -328,7 +327,7 @@ static int run(mddev_t *mddev)
 
 static int stop(mddev_t *mddev)
 {
-       conf_t *conf = (conf_t *)mddev->private;
+       conf_t *conf = mddev->private;
 
        kfree(conf);
        mddev->private = NULL;