Merge commit '3ff195b011d7decf501a4d55aeed312731094796' into for-linus
[pandora-kernel.git] / drivers / md / linear.c
index 3048c17..7e0e057 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/blkdev.h>
 #include <linux/raid/md_u.h>
 #include <linux/seq_file.h>
+#include <linux/slab.h>
 #include "md.h"
 #include "linear.h"
 
@@ -158,7 +159,8 @@ static linear_conf_t *linear_conf(mddev_t *mddev, int raid_disks)
                sector_t sectors;
 
                if (j < 0 || j >= raid_disks || disk->rdev) {
-                       printk("linear: disk numbering problem. Aborting!\n");
+                       printk(KERN_ERR "md/linear:%s: disk numbering problem. Aborting!\n",
+                              mdname(mddev));
                        goto out;
                }
 
@@ -186,7 +188,8 @@ static linear_conf_t *linear_conf(mddev_t *mddev, int raid_disks)
 
        }
        if (cnt != raid_disks) {
-               printk("linear: not enough drives present. Aborting!\n");
+               printk(KERN_ERR "md/linear:%s: not enough drives present. Aborting!\n",
+                      mdname(mddev));
                goto out;
        }
 
@@ -286,9 +289,8 @@ static int linear_stop (mddev_t *mddev)
        return 0;
 }
 
-static int linear_make_request (struct request_queue *q, struct bio *bio)
+static int linear_make_request (mddev_t *mddev, struct bio *bio)
 {
-       mddev_t *mddev = q->queuedata;
        dev_info_t *tmp_dev;
        sector_t start_sector;
 
@@ -306,12 +308,14 @@ static int linear_make_request (struct request_queue *q, struct bio *bio)
                     || (bio->bi_sector < start_sector))) {
                char b[BDEVNAME_SIZE];
 
-               printk("linear_make_request: Sector %llu out of bounds on "
-                       "dev %s: %llu sectors, offset %llu\n",
-                       (unsigned long long)bio->bi_sector,
-                       bdevname(tmp_dev->rdev->bdev, b),
-                       (unsigned long long)tmp_dev->rdev->sectors,
-                       (unsigned long long)start_sector);
+               printk(KERN_ERR
+                      "md/linear:%s: make_request: Sector %llu out of bounds on "
+                      "dev %s: %llu sectors, offset %llu\n",
+                      mdname(mddev),
+                      (unsigned long long)bio->bi_sector,
+                      bdevname(tmp_dev->rdev->bdev, b),
+                      (unsigned long long)tmp_dev->rdev->sectors,
+                      (unsigned long long)start_sector);
                rcu_read_unlock();
                bio_io_error(bio);
                return 0;
@@ -328,9 +332,9 @@ static int linear_make_request (struct request_queue *q, struct bio *bio)
 
                bp = bio_split(bio, end_sector - bio->bi_sector);
 
-               if (linear_make_request(q, &bp->bio1))
+               if (linear_make_request(mddev, &bp->bio1))
                        generic_make_request(&bp->bio1);
-               if (linear_make_request(q, &bp->bio2))
+               if (linear_make_request(mddev, &bp->bio2))
                        generic_make_request(&bp->bio2);
                bio_pair_release(bp);
                return 0;