From: Alasdair G Kergon on
On Wed, May 19, 2010 at 01:38:24PM -0500, Will Drewry wrote:
> Replace major:minor parsing with name_to_dev_t. This
> maintains the current functionality (as the code was the same),
> but adds support for the hexadecimal dev as well as device lookup
> before the root filesystem is available. The latter is the motivation
> for this change.
>
> It still falls back to lookup_bdev() for cases where the inode
> on disk provides more information than the name (and the path exceeds
> the length handled by name_to_dev_t).

I'll apply this, but anyone debugging problems in future should note the
functional change here: the standard in-kernel device names will now take
precedence over the inodes in /dev if the two don't match and this might
confuse people. As it's technically an interface change, I'll bump
the version number so userspace can detect this if it ever needs to.

Alasdair

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alasdair G Kergon on
On Wed, May 19, 2010 at 01:38:24PM -0500, Will Drewry wrote:
> + char base_path[32]; /* size from name_to_dev_t */

> + /* stage the shorter path for name_to_dev_t. */
> + strncpy(base_path, path, sizeof(base_path));

I'm dropping that, and just passing path directly, so the strlen test
will be used. (There's a "name += 5" in there so 32 would ignore
any longer standard names anyway.)

Alasdair

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Alasdair G Kergon on
On Mon, May 24, 2010 at 09:44:07AM -0500, Will Drewry wrote:
> fwiw, the only reason for the copy was because |path| is a
> const in the function but not when passed to name_to_dev_t.
> I wasn't sure what the preferred practice was so I just duped
> the data needed.

Well check that it is treated as 'const' and send a separate patch to
the maintainer to add const, perhaps? If it isn't const (why would
that be?), then yes we'd need to copy it.

Alasdair

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