Re: [PATCH 19/24] dm: remove dm_get_dev_t

From: Mike Snitzer
Date: Tue May 23 2023 - 12:50:13 EST


On Tue, May 23 2023 at 3:45P -0400,
Christoph Hellwig <hch@xxxxxx> wrote:

> Open code dm_get_dev_t in the only remaining caller, and propagate the
> exact error code from lookup_bdev and early_lookup_bdev.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
> drivers/md/dm-table.c | 20 ++++----------------
> include/linux/device-mapper.h | 2 --
> 2 files changed, 4 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
> index 05aa16da43b0d5..e997f4322a9967 100644
> --- a/drivers/md/dm-table.c
> +++ b/drivers/md/dm-table.c
> @@ -323,20 +323,6 @@ static int upgrade_mode(struct dm_dev_internal *dd, fmode_t new_mode,
> return 0;
> }
>
> -/*
> - * Convert the path to a device
> - */
> -dev_t dm_get_dev_t(const char *path)
> -{
> - dev_t dev;
> -
> - if (lookup_bdev(path, &dev) &&
> - early_lookup_bdev(path, &dev))
> - return 0;
> - return dev;
> -}
> -EXPORT_SYMBOL_GPL(dm_get_dev_t);
> -
> /*
> * Add a device to the list, or just increment the usage count if
> * it's already present.
> @@ -359,8 +345,10 @@ int dm_get_device(struct dm_target *ti, const char *path, fmode_t mode,
> if (MAJOR(dev) != major || MINOR(dev) != minor)
> return -EOVERFLOW;
> } else {
> - dev = dm_get_dev_t(path);
> - if (!dev)
> + r = lookup_bdev(path, &dev);
> + if (r)
> + r = early_lookup_bdev(path, &dev);
> + if (r)
> return -ENODEV;
> }
> if (dev == disk_devt(t->md->disk))

OK, but you aren't actually propagating the exact error code. Did
you intend to change the return from -ENODEV to r?

Mike