diff options
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/dm-table.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index a740a6950f59..1407eb96f1a4 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c | |||
@@ -313,19 +313,6 @@ static inline int check_space(struct dm_table *t) | |||
313 | } | 313 | } |
314 | 314 | ||
315 | /* | 315 | /* |
316 | * Convert a device path to a dev_t. | ||
317 | */ | ||
318 | static int lookup_device(const char *path, dev_t *dev) | ||
319 | { | ||
320 | struct block_device *bdev = lookup_bdev(path); | ||
321 | if (IS_ERR(bdev)) | ||
322 | return PTR_ERR(bdev); | ||
323 | *dev = bdev->bd_dev; | ||
324 | bdput(bdev); | ||
325 | return 0; | ||
326 | } | ||
327 | |||
328 | /* | ||
329 | * See if we've already got a device in the list. | 316 | * See if we've already got a device in the list. |
330 | */ | 317 | */ |
331 | static struct dm_dev_internal *find_device(struct list_head *l, dev_t dev) | 318 | static struct dm_dev_internal *find_device(struct list_head *l, dev_t dev) |
@@ -437,8 +424,12 @@ static int __table_get_device(struct dm_table *t, struct dm_target *ti, | |||
437 | return -EOVERFLOW; | 424 | return -EOVERFLOW; |
438 | } else { | 425 | } else { |
439 | /* convert the path to a device */ | 426 | /* convert the path to a device */ |
440 | if ((r = lookup_device(path, &dev))) | 427 | struct block_device *bdev = lookup_bdev(path); |
441 | return r; | 428 | |
429 | if (IS_ERR(bdev)) | ||
430 | return PTR_ERR(bdev); | ||
431 | dev = bdev->bd_dev; | ||
432 | bdput(bdev); | ||
442 | } | 433 | } |
443 | 434 | ||
444 | dd = find_device(&t->devices, dev); | 435 | dd = find_device(&t->devices, dev); |