diff options
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/dm-crypt.c | 3 | ||||
-rw-r--r-- | drivers/md/dm-delay.c | 8 | ||||
-rw-r--r-- | drivers/md/dm-linear.c | 3 | ||||
-rw-r--r-- | drivers/md/dm-log.c | 3 | ||||
-rw-r--r-- | drivers/md/dm-mpath.c | 7 | ||||
-rw-r--r-- | drivers/md/dm-raid1.c | 3 | ||||
-rw-r--r-- | drivers/md/dm-snap.c | 8 | ||||
-rw-r--r-- | drivers/md/dm-stripe.c | 3 | ||||
-rw-r--r-- | drivers/md/dm-table.c | 10 |
9 files changed, 19 insertions, 29 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index a93637223c8d..3bdbb6115702 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c | |||
@@ -1160,8 +1160,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
1160 | } | 1160 | } |
1161 | cc->start = tmpll; | 1161 | cc->start = tmpll; |
1162 | 1162 | ||
1163 | if (dm_get_device(ti, argv[3], cc->start, ti->len, | 1163 | if (dm_get_device(ti, argv[3], dm_table_get_mode(ti->table), &cc->dev)) { |
1164 | dm_table_get_mode(ti->table), &cc->dev)) { | ||
1165 | ti->error = "Device lookup failed"; | 1164 | ti->error = "Device lookup failed"; |
1166 | goto bad_device; | 1165 | goto bad_device; |
1167 | } | 1166 | } |
diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c index ebe7381f47c8..852052880d7a 100644 --- a/drivers/md/dm-delay.c +++ b/drivers/md/dm-delay.c | |||
@@ -156,8 +156,8 @@ static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
156 | goto bad; | 156 | goto bad; |
157 | } | 157 | } |
158 | 158 | ||
159 | if (dm_get_device(ti, argv[0], dc->start_read, ti->len, | 159 | if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), |
160 | dm_table_get_mode(ti->table), &dc->dev_read)) { | 160 | &dc->dev_read)) { |
161 | ti->error = "Device lookup failed"; | 161 | ti->error = "Device lookup failed"; |
162 | goto bad; | 162 | goto bad; |
163 | } | 163 | } |
@@ -177,8 +177,8 @@ static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
177 | goto bad_dev_read; | 177 | goto bad_dev_read; |
178 | } | 178 | } |
179 | 179 | ||
180 | if (dm_get_device(ti, argv[3], dc->start_write, ti->len, | 180 | if (dm_get_device(ti, argv[3], dm_table_get_mode(ti->table), |
181 | dm_table_get_mode(ti->table), &dc->dev_write)) { | 181 | &dc->dev_write)) { |
182 | ti->error = "Write device lookup failed"; | 182 | ti->error = "Write device lookup failed"; |
183 | goto bad_dev_read; | 183 | goto bad_dev_read; |
184 | } | 184 | } |
diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c index 82f7d6e6b1ea..9200dbf2391a 100644 --- a/drivers/md/dm-linear.c +++ b/drivers/md/dm-linear.c | |||
@@ -47,8 +47,7 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
47 | } | 47 | } |
48 | lc->start = tmp; | 48 | lc->start = tmp; |
49 | 49 | ||
50 | if (dm_get_device(ti, argv[0], lc->start, ti->len, | 50 | if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &lc->dev)) { |
51 | dm_table_get_mode(ti->table), &lc->dev)) { | ||
52 | ti->error = "dm-linear: Device lookup failed"; | 51 | ti->error = "dm-linear: Device lookup failed"; |
53 | goto bad; | 52 | goto bad; |
54 | } | 53 | } |
diff --git a/drivers/md/dm-log.c b/drivers/md/dm-log.c index 7035582786fb..5a08be0222db 100644 --- a/drivers/md/dm-log.c +++ b/drivers/md/dm-log.c | |||
@@ -543,8 +543,7 @@ static int disk_ctr(struct dm_dirty_log *log, struct dm_target *ti, | |||
543 | return -EINVAL; | 543 | return -EINVAL; |
544 | } | 544 | } |
545 | 545 | ||
546 | r = dm_get_device(ti, argv[0], 0, 0 /* FIXME */, | 546 | r = dm_get_device(ti, argv[0], FMODE_READ | FMODE_WRITE, &dev); |
547 | FMODE_READ | FMODE_WRITE, &dev); | ||
548 | if (r) | 547 | if (r) |
549 | return r; | 548 | return r; |
550 | 549 | ||
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index c1335487cc72..826bce7343b3 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c | |||
@@ -607,8 +607,8 @@ static struct pgpath *parse_path(struct arg_set *as, struct path_selector *ps, | |||
607 | if (!p) | 607 | if (!p) |
608 | return ERR_PTR(-ENOMEM); | 608 | return ERR_PTR(-ENOMEM); |
609 | 609 | ||
610 | r = dm_get_device(ti, shift(as), ti->begin, ti->len, | 610 | r = dm_get_device(ti, shift(as), dm_table_get_mode(ti->table), |
611 | dm_table_get_mode(ti->table), &p->path.dev); | 611 | &p->path.dev); |
612 | if (r) { | 612 | if (r) { |
613 | ti->error = "error getting device"; | 613 | ti->error = "error getting device"; |
614 | goto bad; | 614 | goto bad; |
@@ -1505,8 +1505,7 @@ static int multipath_message(struct dm_target *ti, unsigned argc, char **argv) | |||
1505 | goto out; | 1505 | goto out; |
1506 | } | 1506 | } |
1507 | 1507 | ||
1508 | r = dm_get_device(ti, argv[1], ti->begin, ti->len, | 1508 | r = dm_get_device(ti, argv[1], dm_table_get_mode(ti->table), &dev); |
1509 | dm_table_get_mode(ti->table), &dev); | ||
1510 | if (r) { | 1509 | if (r) { |
1511 | DMWARN("message: error getting device %s", | 1510 | DMWARN("message: error getting device %s", |
1512 | argv[1]); | 1511 | argv[1]); |
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index de26fde4098f..6d66ddf39071 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c | |||
@@ -920,8 +920,7 @@ static int get_mirror(struct mirror_set *ms, struct dm_target *ti, | |||
920 | return -EINVAL; | 920 | return -EINVAL; |
921 | } | 921 | } |
922 | 922 | ||
923 | if (dm_get_device(ti, argv[0], offset, ti->len, | 923 | if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), |
924 | dm_table_get_mode(ti->table), | ||
925 | &ms->mirror[mirror].dev)) { | 924 | &ms->mirror[mirror].dev)) { |
926 | ti->error = "Device lookup failure"; | 925 | ti->error = "Device lookup failure"; |
927 | return -ENXIO; | 926 | return -ENXIO; |
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c index ee8eb283650d..0789c22ff0d4 100644 --- a/drivers/md/dm-snap.c +++ b/drivers/md/dm-snap.c | |||
@@ -1081,8 +1081,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
1081 | argv++; | 1081 | argv++; |
1082 | argc--; | 1082 | argc--; |
1083 | 1083 | ||
1084 | r = dm_get_device(ti, cow_path, 0, 0, | 1084 | r = dm_get_device(ti, cow_path, FMODE_READ | FMODE_WRITE, &s->cow); |
1085 | FMODE_READ | FMODE_WRITE, &s->cow); | ||
1086 | if (r) { | 1085 | if (r) { |
1087 | ti->error = "Cannot get COW device"; | 1086 | ti->error = "Cannot get COW device"; |
1088 | goto bad_cow; | 1087 | goto bad_cow; |
@@ -1098,7 +1097,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
1098 | argv += args_used; | 1097 | argv += args_used; |
1099 | argc -= args_used; | 1098 | argc -= args_used; |
1100 | 1099 | ||
1101 | r = dm_get_device(ti, origin_path, 0, ti->len, origin_mode, &s->origin); | 1100 | r = dm_get_device(ti, origin_path, origin_mode, &s->origin); |
1102 | if (r) { | 1101 | if (r) { |
1103 | ti->error = "Cannot get origin device"; | 1102 | ti->error = "Cannot get origin device"; |
1104 | goto bad_origin; | 1103 | goto bad_origin; |
@@ -2100,8 +2099,7 @@ static int origin_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
2100 | return -EINVAL; | 2099 | return -EINVAL; |
2101 | } | 2100 | } |
2102 | 2101 | ||
2103 | r = dm_get_device(ti, argv[0], 0, ti->len, | 2102 | r = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &dev); |
2104 | dm_table_get_mode(ti->table), &dev); | ||
2105 | if (r) { | 2103 | if (r) { |
2106 | ti->error = "Cannot get target device"; | 2104 | ti->error = "Cannot get target device"; |
2107 | return r; | 2105 | return r; |
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index bd58703ee8f6..e610725db766 100644 --- a/drivers/md/dm-stripe.c +++ b/drivers/md/dm-stripe.c | |||
@@ -80,8 +80,7 @@ static int get_stripe(struct dm_target *ti, struct stripe_c *sc, | |||
80 | if (sscanf(argv[1], "%llu", &start) != 1) | 80 | if (sscanf(argv[1], "%llu", &start) != 1) |
81 | return -EINVAL; | 81 | return -EINVAL; |
82 | 82 | ||
83 | if (dm_get_device(ti, argv[0], start, sc->stripe_width, | 83 | if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), |
84 | dm_table_get_mode(ti->table), | ||
85 | &sc->stripe[stripe].dev)) | 84 | &sc->stripe[stripe].dev)) |
86 | return -ENXIO; | 85 | return -ENXIO; |
87 | 86 | ||
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index 7d70cca585ac..9924ea23032d 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c | |||
@@ -429,8 +429,7 @@ static int upgrade_mode(struct dm_dev_internal *dd, fmode_t new_mode, | |||
429 | * it's already present. | 429 | * it's already present. |
430 | */ | 430 | */ |
431 | static int __table_get_device(struct dm_table *t, struct dm_target *ti, | 431 | static int __table_get_device(struct dm_table *t, struct dm_target *ti, |
432 | const char *path, sector_t start, sector_t len, | 432 | const char *path, fmode_t mode, struct dm_dev **result) |
433 | fmode_t mode, struct dm_dev **result) | ||
434 | { | 433 | { |
435 | int r; | 434 | int r; |
436 | dev_t uninitialized_var(dev); | 435 | dev_t uninitialized_var(dev); |
@@ -527,11 +526,10 @@ int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, | |||
527 | } | 526 | } |
528 | EXPORT_SYMBOL_GPL(dm_set_device_limits); | 527 | EXPORT_SYMBOL_GPL(dm_set_device_limits); |
529 | 528 | ||
530 | int dm_get_device(struct dm_target *ti, const char *path, sector_t start, | 529 | int dm_get_device(struct dm_target *ti, const char *path, fmode_t mode, |
531 | sector_t len, fmode_t mode, struct dm_dev **result) | 530 | struct dm_dev **result) |
532 | { | 531 | { |
533 | return __table_get_device(ti->table, ti, path, | 532 | return __table_get_device(ti->table, ti, path, mode, result); |
534 | start, len, mode, result); | ||
535 | } | 533 | } |
536 | 534 | ||
537 | 535 | ||