summaryrefslogtreecommitdiff
path: root/drivers/md/dm-table.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2023-05-31 15:55:24 +0300
committerJens Axboe <axboe@kernel.dk>2023-06-05 19:56:46 +0300
commitcf056a43121559d3642419917d405c3237ded90a (patch)
treecf61d333adf4d030bf719d814a9aec20e99fe00b /drivers/md/dm-table.c
parentc0c1a7dcb6f5db4500e6574294674213bc24940c (diff)
downloadlinux-cf056a43121559d3642419917d405c3237ded90a.tar.xz
init: improve the name_to_dev_t interface
name_to_dev_t has a very misleading name, that doesn't make clear it should only be used by the early init code, and also has a bad calling convention that doesn't allow returning different kinds of errors. Rename it to early_lookup_bdev to make the use case clear, and return an errno, where -EINVAL means the string could not be parsed, and -ENODEV means it the string was valid, but there was no device found for it. Also stub out the whole call for !CONFIG_BLOCK as all the non-block root cases are always covered in the caller. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20230531125535.676098-14-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/md/dm-table.c')
-rw-r--r--drivers/md/dm-table.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index 1398f1d6e83e..05aa16da43b0 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -330,8 +330,9 @@ dev_t dm_get_dev_t(const char *path)
{
dev_t dev;
- if (lookup_bdev(path, &dev))
- dev = name_to_dev_t(path);
+ if (lookup_bdev(path, &dev) &&
+ early_lookup_bdev(path, &dev))
+ return 0;
return dev;
}
EXPORT_SYMBOL_GPL(dm_get_dev_t);