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

2007-02-19 Thread Rolf Eike Beer
Am Montag, 19. Februar 2007 schrieben Sie:
> On Mon, 19 Feb 2007 15:39:38 +0100 Rolf Eike Beer <[EMAIL PROTECTED]> 
wrote:
> > > It's totally weird. It prints the "skipped" message for every (!)
> > > number, not just for the blacklisted ones. And I've triple checked that
> > > I don't have missed the '{'.
> > >
> > > Compiler is SuSEs 4.1.0 from their 10.1. I remember some rumors that
> > > this thing is just broken?
> >
> > Ok, I'm using the compiler from SuSE 10.2 now and it works. Time that we
> > refuse to build if it's a 4.1.0.
>
> argh, I was down to suspecting gcc.
>
> I suppose we can just stir the code around to make it go away.  Like this?

Too late, sorry. I've upgraded to 4.1.3 and it works fine now. Maybe I'll find 
time to check again but this will take some days.

Eike


pgplkNg9qlaNA.pgp
Description: PGP signature


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

2007-02-19 Thread Andrew Morton
On Mon, 19 Feb 2007 15:39:38 +0100 Rolf Eike Beer <[EMAIL PROTECTED]> wrote:

> > It's totally weird. It prints the "skipped" message for every (!) number,
> > not just for the blacklisted ones. And I've triple checked that I don't
> > have missed the '{'.
> >
> > Compiler is SuSEs 4.1.0 from their 10.1. I remember some rumors that this
> > thing is just broken?
> 
> Ok, I'm using the compiler from SuSE 10.2 now and it works. Time that we 
> refuse to build if it's a 4.1.0.

argh, I was down to suspecting gcc.

I suppose we can just stir the code around to make it go away.  Like this?


 block/genhd.c  |9 ++---
 drivers/base/core.c|   14 ++
 fs/char_dev.c  |8 ++--
 include/linux/kdev_t.h |1 +
 4 files changed, 19 insertions(+), 13 deletions(-)

diff -puN block/genhd.c~rework-reserved-major-handling block/genhd.c
--- a/block/genhd.c~rework-reserved-major-handling
+++ a/block/genhd.c
@@ -5,6 +5,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -61,13 +62,7 @@ int register_blkdev(unsigned int major, 
/* temporary */
if (major == 0) {
for (index = ARRAY_SIZE(major_names)-1; index > 0; index--) {
-   /*
-* Disallow the LANANA-assigned LOCAL/EXPERIMENTAL
-* majors
-*/
-   if ((60 <= index && index <= 63) ||
-   (120 <= index && index <= 127) ||
-   (240 <= index && index <= 254))
+   if (is_lanana_major(index))
continue;
if (major_names[index] == NULL)
break;
diff -puN fs/char_dev.c~rework-reserved-major-handling fs/char_dev.c
--- a/fs/char_dev.c~rework-reserved-major-handling
+++ a/fs/char_dev.c
@@ -6,6 +6,7 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -108,12 +109,7 @@ __register_chrdev_region(unsigned int ma
/* temporary */
if (major == 0) {
for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) {
-   /*
-* Disallow the LANANA-assigned LOCAL/EXPERIMENTAL
-* majors
-*/
-   if ((60 <= i && i <= 63) || (120 <= i && i <= 127) ||
-   (240 <= i && i <= 254))
+   if (is_lanana_major(i))
continue;
if (chrdevs[i] == NULL)
break;
diff -puN drivers/base/core.c~rework-reserved-major-handling drivers/base/core.c
--- a/drivers/base/core.c~rework-reserved-major-handling
+++ a/drivers/base/core.c
@@ -28,6 +28,20 @@ int (*platform_notify)(struct device * d
 int (*platform_notify_remove)(struct device * dev) = NULL;
 
 /*
+ * Detect the LANANA-assigned LOCAL/EXPERIMENTAL majors
+ */
+bool is_lanana_major(unsigned int major)
+{
+   if (major >= 60 && major <= 63)
+   return 1;
+   if (major >= 120 && major <= 127)
+   return 1;
+   if (major >= 240 && major <= 254)
+   return 1;
+   return 0;
+}
+
+/*
  * sysfs bindings for devices.
  */
 
diff -puN include/linux/kdev_t.h~rework-reserved-major-handling 
include/linux/kdev_t.h
--- a/include/linux/kdev_t.h~rework-reserved-major-handling
+++ a/include/linux/kdev_t.h
@@ -87,6 +87,7 @@ static inline unsigned sysv_minor(u32 de
return dev & 0x3;
 }
 
+bool is_lanana_major(unsigned int major);
 
 #else /* __KERNEL__ */
 
_

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


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

2007-02-19 Thread Rolf Eike Beer
> Andrew Morton wrote:
> > On Mon, 19 Feb 2007 11:01:02 +0100 Rolf Eike Beer <[EMAIL PROTECTED]>
>
> wrote:
> > > Andrew Morton wrote:
> > > > On Fri, 16 Feb 2007 14:37:28 +0100
> > > >
> > > > Rolf Eike Beer <[EMAIL PROTECTED]> 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"?
>
> It's totally weird. It prints the "skipped" message for every (!) number,
> not just for the blacklisted ones. And I've triple checked that I don't
> have missed the '{'.
>
> Compiler is SuSEs 4.1.0 from their 10.1. I remember some rumors that this
> thing is just broken?

Ok, I'm using the compiler from SuSE 10.2 now and it works. Time that we 
refuse to build if it's a 4.1.0.

Sorry for the noise.

Eike


pgpyZqMb3zglw.pgp
Description: PGP signature


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

2007-02-19 Thread Rolf Eike Beer
Andrew Morton wrote:
> On Mon, 19 Feb 2007 11:01:02 +0100 Rolf Eike Beer <[EMAIL PROTECTED]> 
wrote:
> > Andrew Morton wrote:
> > > On Fri, 16 Feb 2007 14:37:28 +0100
> > >
> > > Rolf Eike Beer <[EMAIL PROTECTED]> 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"?

It's totally weird. It prints the "skipped" message for every (!) number, not 
just for the blacklisted ones. And I've triple checked that I don't have 
missed the '{'.

Compiler is SuSEs 4.1.0 from their 10.1. I remember some rumors that this 
thing is just broken?

Eike


pgpUU18H8Yb3X.pgp
Description: PGP signature


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

2007-02-19 Thread Andrew Morton
On Mon, 19 Feb 2007 11:01:02 +0100 Rolf Eike Beer <[EMAIL PROTECTED]> wrote:

> Andrew Morton wrote:
> > On Fri, 16 Feb 2007 14:37:28 +0100
> > Rolf Eike Beer <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2007-02-19 Thread Rolf Eike Beer
Andrew Morton wrote:
> On Fri, 16 Feb 2007 14:37:28 +0100
> Rolf Eike Beer <[EMAIL PROTECTED]> 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.

Eike


pgpKSL6uoxtH1.pgp
Description: PGP signature


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

2007-02-16 Thread Andrew Morton
On Fri, 16 Feb 2007 14:37:28 +0100
Rolf Eike Beer <[EMAIL PROTECTED]> 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.

--- a/block/genhd.c~a
+++ a/block/genhd.c
@@ -61,14 +61,6 @@ int register_blkdev(unsigned int major, 
/* temporary */
if (major == 0) {
for (index = ARRAY_SIZE(major_names)-1; index > 0; index--) {
-   /*
-* Disallow the LANANA-assigned LOCAL/EXPERIMENTAL
-* majors
-*/
-   if ((60 <= index && index <= 63) ||
-   (120 <= index && index <= 127) ||
-   (240 <= index && index <= 254))
-   continue;
if (major_names[index] == NULL)
break;
}
_

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


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

2007-02-16 Thread Dan Smith
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

RB> The error message is quoted in subject.

I was seeing this behavior a couple days ago.  I had been ignoring the
warnings about using the known-broken gcc 4.1.0; updating to 4.1.1
fixed it for me.

- -- 
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFF1djxwtEf7b4GJVQRAlUAAKCHIuPS5dRCXxiw5yHEMleGZlV3wQCeM8Xu
Z8T/nOT2L9Pe0O3ItMBu9pY=
=gn5n
-END PGP SIGNATURE-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2007-02-16 Thread Rolf Eike Beer
Hi,

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).

Attached are my .config of x86 and x86_64 as well as dmesg of failed boot as 
captured via serial line.

The only other report of this problem dates back to early 2005 (see 
http://lkml.org/lkml/2005/2/5/29) and was about 2.6.11-rc2-mm2. I 
successfully have 2.6.18-rc7-something on this machine as x86_64 so it worked 
in between.

Any ideas?

Greetings,

Eike
Linux version 2.6.20-siso1 ([EMAIL PROTECTED]) (gcc version 4.1.0 (SUSE Linux)) 
#7 SMP Fri Feb 16 11:08:53 CET 2007
Command line: root=/dev/system/root64 console=ttyS0,38400 console=tty0 
vga=normal selinux=0 resume=/dev/system/swap splash=verbose showopts
BIOS-provided physical RAM map:
 BIOS-e820:  - 0009b000 (usable)
 BIOS-e820: 0009b000 - 000a (reserved)
 BIOS-e820: 000e9b60 - 0010 (reserved)
 BIOS-e820: 0010 - 7ffb (usable)
 BIOS-e820: 7ffb - 7ffbe000 (ACPI data)
 BIOS-e820: 7ffbe000 - 7ffe (ACPI NVS)
 BIOS-e820: 7ffe - 8000 (reserved)
 BIOS-e820: fec0 - fec01000 (reserved)
 BIOS-e820: fee0 - fef0 (reserved)
 BIOS-e820: ff70 - 0001 (reserved)
end_pfn_map = 1048576
DMI 2.3 present.
ACPI: RSDP 000FB650, 0014 (r0 ACPIAM)
ACPI: RSDT 7FFB, 0034 (r1 A M I  OEMRSDT   3000627 MSFT   97)
ACPI: FACP 7FFB0200, 0084 (r2 A M I  OEMFACP   3000627 MSFT   97)
ACPI: DSDT 7FFB0450, 7E04 (r1  A0350 A03500011 INTL  2002026)
ACPI: FACS 7FFBE000, 0040
ACPI: APIC 7FFB0390, 0080 (r1 A M I  OEMAPIC   3000627 MSFT   97)
ACPI: MCFG 7FFB0410, 003C (r1 A M I  OEMMCFG   3000627 MSFT   97)
ACPI: OEMB 7FFBE040, 005B (r1 A M I  AMI_OEM   3000627 MSFT   97)
Zone PFN ranges:
  DMA 0 -> 4096
  DMA324096 ->  1048576
  Normal1048576 ->  1048576
early_node_map[2] active PFN ranges
0:0 ->  155
0:  256 ->   524208
Nvidia board detected. Ignoring ACPI timer override.
If you got timer trouble try acpi_use_timer_override
ACPI: PM-Timer IO Port: 0x508
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 (Bootup-CPU)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0])
IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: BIOS IRQ0 pin2 override ignored.
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge)
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
Nosave address range: 0009b000 - 000a
Nosave address range: 000a - 000ea000
Nosave address range: 000ea000 - 0010
Allocating PCI resources starting at 8800 (gap: 8000:7ec0)
PERCPU: Allocating 33920 bytes of per cpu data
Built 1 zonelists.  Total pages: 512835
Kernel command line: root=/dev/system/root64 console=ttyS0,38400 console=tty0 
vga=normal selinux=0 resume=/dev/system/swap splash=verbose s
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
Console: colour VGA+ 80x25
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:8
... MAX_LOCK_DEPTH:  30
... MAX_LOCKDEP_KEYS:2048
... CLASSHASH_SIZE:   1024
... MAX_LOCKDEP_ENTRIES: 8192
... MAX_LOCKDEP_CHAINS:  16384
... CHAINHASH_SIZE:  8192
 memory used by lock dependency info: 1648 kB
 per task-struct memory footprint: 1680 bytes
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Checking aperture...
Memory: 2036040k/2096832k available (2574k kernel code, 60004k reserved, 1582k 
data, 220k init)
Calibrating delay using timer specific routine.. 6006.12 BogoMIPS (lpj=12012248)
Mount-cache hash table entries: 256
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
using mwait in idle threads.
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU0: Thermal monitoring enabled (TM1)
Freeing SMP alternatives: 24k freed
ACPI: Core revision 20070126
Using local APIC timer interrupts.
result 12500430
Detected 12.500 MHz APIC timer.
lockdep: not fixing up alternatives.
Booting processor 1/2 APIC 0x1
Initializing CPU#1
Calibrating delay using timer specific routine.. 6000.83 BogoMIPS (lpj=12001670)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 20