Re: [BUG?] register_blkdev: failed to get major for device mapper

From: Andrew Morton
Date: Mon Feb 19 2007 - 05:30:45 EST


On Mon, 19 Feb 2007 11:01:02 +0100 Rolf Eike Beer <eike-kernel@xxxxxxxxx> wrote:

> Andrew Morton wrote:
> > On Fri, 16 Feb 2007 14:37:28 +0100
> > Rolf Eike Beer <eike-kernel@xxxxxxxxx> wrote:
>
> > > I can't bring up my machine with root LVM anymore using x86_64. The same
> > > machine from same kernel tree boots fine as x86. The error message is
> > > quoted in subject. The tree is at
> > > 86a71dbd3e81e8870d0f0e56b87875f57e58222b (for those not using git:
> > > somewhere after 2.6.20).
> >
> > Does this fix it? I don't see why it would, but this was recently added.
>
> Yes. But now usb complains "unable to get a dynamic major for usb endpoints".
> Nevertheless the USB mouse works.
>

That's just nutty.

Can you add this, see what it says just prior to that "unable to get a
dynamic major for usb endpoints"?


--- a/fs/char_dev.c~a
+++ a/fs/char_dev.c
@@ -108,15 +108,21 @@ __register_chrdev_region(unsigned int ma
/* temporary */
if (major == 0) {
for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) {
+ printk("%s: i = %d: ", __FUNCTION__, i);
/*
* Disallow the LANANA-assigned LOCAL/EXPERIMENTAL
* majors
*/
if ((60 <= i && i <= 63) || (120 <= i && i <= 127) ||
- (240 <= i && i <= 254))
+ (240 <= i && i <= 254)) {
+ printk("skipped\n");
continue;
- if (chrdevs[i] == NULL)
+ }
+ if (chrdevs[i] == NULL) {
+ printk("free\n");
break;
+ }
+ printk("used\n");
}

if (i == 0) {
_

-
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/