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

From: Will Drewry
Date: Tue May 25 2010 - 12:11:41 EST


On Tue, May 25, 2010 at 11:05 AM, Alasdair G Kergon <agk@xxxxxxxxxx> wrote:
> 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))

In addition to getting rid of the code duplication, I'd like device-mapper
to be able to resolve slave devices at boot-time to accommodate a
do_mounts_dm.c equivalent to do_mounts_md.c:

https://patchwork.kernel.org/patch/101024/

(which I neglected to mail to the other init-related maintainers - sorry!
I'll correct that when I mail out the next revision.)

thanks!
will
--
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/