linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / md / dm-linear.c
index daf586c..6a2cd5d 100644 (file)
@@ -26,7 +26,6 @@ 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";
@@ -39,11 +38,10 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
                return -ENOMEM;
        }
 
-       if (sscanf(argv[1], "%llu", &tmp) != 1) {
+       if (sscanf(argv[1], SECTOR_FORMAT, &lc->start) != 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)) {
@@ -89,8 +87,8 @@ static int linear_status(struct dm_target *ti, status_type_t type,
                break;
 
        case STATUSTYPE_TABLE:
-               snprintf(result, maxlen, "%s %llu", lc->dev->name,
-                               (unsigned long long)lc->start);
+               snprintf(result, maxlen, "%s " SECTOR_FORMAT, lc->dev->name,
+                        lc->start);
                break;
        }
        return 0;