Re: [PATCH 2/2] init, mount: export the name_to_dev_t symbol

From: Alasdair G Kergon
Date: Tue May 25 2010 - 12:06:38 EST


On Tue, May 25, 2010 at 11:55:35AM -0400, Christoph Hellwig wrote:
> NACK. It's really a hack for the boot code, there's no offical name to
> dev_t mapping.
> What are you trying to use it for?

Device-mapper contains a subset of that code, so he's proposing we
use it here:

@@ -434,17 +435,13 @@ static int __table_get_device(struct dm_
int r;
dev_t uninitialized_var(dev);
struct dm_dev_internal *dd;
- unsigned int major, minor;

BUG_ON(!t);

- if (sscanf(path, "%u:%u", &major, &minor) == 2) {
- /* Extract the major/minor numbers */
- dev = MKDEV(major, minor);
- if (MAJOR(dev) != major || MINOR(dev) != minor)
- return -EOVERFLOW;
- } else {
- /* convert the path to a device */
+ /* lookup by major:minor or registered device name */
+ dev = name_to_dev_t(path);
+ if (!dev) {
+ /* convert the path to a device by finding its inode */
struct block_device *bdev = lookup_bdev(path);

if (IS_ERR(bdev))

Alasdair

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/