From: Ville Herva <vherva@vianova.fi>
To: "Artem B. Bityutskiy" <dedekind@infradead.org>
Cc: linux-mtd@lists.infradead.org
Subject: Re: kernel command line arguments for block2mtd do not work
Date: Wed, 5 Jul 2006 10:13:40 +0300 [thread overview]
Message-ID: <20060705071340.GN6240@vianova.fi> (raw)
In-Reply-To: <20060705070509.GB15078@vianova.fi>
On Wed, Jul 05, 2006 at 10:05:10AM +0300, you [Ville Herva] wrote:
> On Wed, Jul 05, 2006 at 10:52:15AM +0400, you [Artem B. Bityutskiy] wrote:
> > On Tue, 2006-07-04 at 17:38 +0300, Ville Herva wrote:
> > > For the rough idea, see
> > > http://iki.fi/v/tmp/block2mtd.c
> > > (Sorry for the ugliness - it's just a workaround hack.)
> >
> > Hello,
> >
> > I'd suggest you to just send a patch. See "Patch submission" at
> > http://www.linux-mtd.infradead.org/source.html
>
> I don't think any of the ideas I listed to "fix" the problem are
> satisfactory. They all run into the same dead-end of not having access to
> the rootfs when parsing the arguments, and hence, not being able to open the
> underlying blockdev.
>
> These days the kernel afaik does not have builtin
> device name -> device number mapping (I think it used to - for rootfs
> device mounting - but isn't that gone?). The device we are mounting might be
> the rootfs, so /dev is not present. Hence,
> open_bdev_excl(devname, O_RDWR, NULL);
> can't succeed.
>
> What I _was_ able to do (see http://iki.fi/v/tmp/block2mtd.c) is to move the
> argument parsing later in boot process - it doesn't fail anymore, but that
> doesn't help much, since the device can't be opened. This means the error
> message is much more helpful (and it won't crash), but is it worth it?
Wait a minute, should I use init/do_mounts.c::name_to_dev_t() ?
/* Convert a name into device number. We accept the following
* variants:
*
* 1) device number in hexadecimal represents itself
* 2) /dev/nfs represents Root_NFS (0xff)
* 3) /dev/<disk_name> represents the device number of disk
* 4) /dev/<disk_name><decimal> represents the device number
* of partition - device number of disk plus the partition number
* 5) /dev/<disk_name>p<decimal> - same as the above, that form is
* used when disk name of partitioned disk ends on a digit.
*/
dev_t name_to_dev_t(char *name)
That might work... Even if you can't pass a normal device name in, you could
specify device number.
So something like
block2mtd.c::add_device()
bdev = open_bdev_excl(devname, O_RDWR, NULL);
if (!bdev) {
dev_t dev = name_to_dev_t(devname);
if (dev != 0) {
bdev = open_by_devnum(dev, FMODE_WRITE | FMODE_READ);
}
}
?
What do you think?
-- v --
v@iki.fi
next prev parent reply other threads:[~2006-07-05 7:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-04 14:38 kernel command line arguments for block2mtd do not work Ville Herva
2006-07-05 6:52 ` Artem B. Bityutskiy
2006-07-05 7:05 ` Ville Herva
2006-07-05 7:13 ` Ville Herva [this message]
2006-07-05 7:21 ` Artem B. Bityutskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060705071340.GN6240@vianova.fi \
--to=vherva@vianova.fi \
--cc=dedekind@infradead.org \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox