Merge to Fedora kernel-2.6.18-1.2257_FC5 patched with stable patch-2.6.18.5-vs2.0...
[linux-2.6.git] / drivers / md / dm-linear.c
index df79d95..47b3c62 100644 (file)
@@ -12,6 +12,8 @@
 #include <linux/bio.h>
 #include <linux/slab.h>
 
+#define DM_MSG_PREFIX "linear"
+
 /*
  * Linear: maps a linear range of a device.
  */
@@ -26,9 +28,10 @@ struct linear_c {
 static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 {
        struct linear_c *lc;
+       unsigned long long tmp;
 
        if (argc != 2) {
-               ti->error = "dm-linear: Invalid argument count";
+               ti->error = "Invalid argument count";
                return -EINVAL;
        }
 
@@ -38,10 +41,11 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
                return -ENOMEM;
        }
 
-       if (sscanf(argv[1], SECTOR_FORMAT, &lc->start) != 1) {
+       if (sscanf(argv[1], "%llu", &tmp) != 1) {
                ti->error = "dm-linear: Invalid device sector";
                goto bad;
        }
+       lc->start = tmp;
 
        if (dm_get_device(ti, argv[0], lc->start, ti->len,
                          dm_table_get_mode(ti->table), &lc->dev)) {
@@ -80,7 +84,6 @@ static int linear_status(struct dm_target *ti, status_type_t type,
                         char *result, unsigned int maxlen)
 {
        struct linear_c *lc = (struct linear_c *) ti->private;
-       char buffer[32];
 
        switch (type) {
        case STATUSTYPE_INFO:
@@ -88,8 +91,8 @@ static int linear_status(struct dm_target *ti, status_type_t type,
                break;
 
        case STATUSTYPE_TABLE:
-               format_dev_t(buffer, lc->dev->bdev->bd_dev);
-               snprintf(result, maxlen, "%s " SECTOR_FORMAT, buffer, lc->start);
+               snprintf(result, maxlen, "%s %llu", lc->dev->name,
+                               (unsigned long long)lc->start);
                break;
        }
        return 0;
@@ -110,7 +113,7 @@ int __init dm_linear_init(void)
        int r = dm_register_target(&linear_target);
 
        if (r < 0)
-               DMERR("linear: register failed %d", r);
+               DMERR("register failed %d", r);
 
        return r;
 }
@@ -120,5 +123,5 @@ void dm_linear_exit(void)
        int r = dm_unregister_target(&linear_target);
 
        if (r < 0)
-               DMERR("linear: unregister failed %d", r);
+               DMERR("unregister failed %d", r);
 }