Message ID | 20230523074535.249802-20-hch@lst.de |
---|---|
State | Not Applicable |
Headers | show |
Series | [01/24] driver core: return bool from driver_probe_done | expand |
On Tue, May 23 2023 at 3:45P -0400, Christoph Hellwig <hch@lst.de> 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@lst.de> > --- > 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
On Tue, May 23, 2023 at 12:49:16PM -0400, Mike Snitzer wrote: > > - 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? Yes, thanks.
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)) diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index a52d2b9a68460a..c27b84002d8382 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -170,8 +170,6 @@ struct dm_dev { char name[16]; }; -dev_t dm_get_dev_t(const char *path); - /* * Constructors should call these functions to ensure destination devices * are opened/closed correctly.
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@lst.de> --- drivers/md/dm-table.c | 20 ++++---------------- include/linux/device-mapper.h | 2 -- 2 files changed, 4 insertions(+), 18 deletions(-)