RE: Software RAID Stopped Working With Aurora Kernel

2 messages, 2 authors, 2002-05-20 · open the first message on its own page

RE: Software RAID Stopped Working With Aurora Kernel

From: Neil Brown <hidden>
Date: 2002-05-20 21:09:06

On Monday May 20, kc130iseo@coastalnet.com wrote:
quoted
    I don't know why, but in one instance it tried to load
      /lib/raid5.o
    and gets :unresolved symbol md_unregister_thread_R4ba824f9

    The other time it correctly loads
      /lib/modules/2.4.18-0.92sparc/kernel/drivers/md/raid5.o

    I suggest removing /lib/raid5.c
Strangely, the only time this error occurred was when I tried to boot with
"md0" devices listed in /etc/fstab. I don't know why it reported this path.
There are no modules directly under /lib. Here's where all the modules are.
I will remove all but the current kernel modules. In fact, I'll be removing
all the 2.2 kernels since I can't boot them any more anyway.
Odd.... you could do an "nm" of each raid5.o and see which one
mentions
   md_unregister_thread_R4ba824f9
Using your source RPM:
...
gcc -Wall -Werror -Wstrict-prototypes -DCONFFILE=\"/etc/mdadm.conf\" -O2 -m3
2 -m
tune=ultrasparc   -c -o mdadm.o mdadm.c
cc1: warnings being treated as errors
In file included from mdadm.h:57,
                 from mdadm.c:30:
md_p.h: In function `md_event':
md_p.h:168: warning: left shift count >= width of type
make: *** [mdadm.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.90717 (%build)
Even odder.  It seems to think that __u64 is only 32bits wide.
Sounds like a compiler error, or an include file error.
I suspect __u64 is defined in /usr/include/asm/types.h to be
  typedef unsigned long __u64;

where it must need to be "unsigned long long", but I don't know enough
about the different flavours of sparc or the different compilers to
figure out the most likely problem.
Maybe just put
   #define __64 unsigned long long
in mdadm.h and see if that helps.

NeilBrown

Re: Software RAID Stopped Working With Aurora Kernel

From: Calvin D. Webster <hidden>
Date: 2002-05-20 21:33:03

Neil Brown wrote:
On Monday May 20, kc130iseo@coastalnet.com wrote:
quoted
quoted
    I don't know why, but in one instance it tried to load
      /lib/raid5.o
    and gets :unresolved symbol md_unregister_thread_R4ba824f9

    The other time it correctly loads
      /lib/modules/2.4.18-0.92sparc/kernel/drivers/md/raid5.o

    I suggest removing /lib/raid5.c
Strangely, the only time this error occurred was when I tried to boot with
"md0" devices listed in /etc/fstab. I don't know why it reported this path.
There are no modules directly under /lib. Here's where all the modules are.
I will remove all but the current kernel modules. In fact, I'll be removing
all the 2.2 kernels since I can't boot them any more anyway.
Odd.... you could do an "nm" of each raid5.o and see which one
mentions
   md_unregister_thread_R4ba824f9
Both of the 2.4 raid5.o modules show this. None of the 2.2 modules do.
quoted
Using your source RPM:
...
quoted
gcc -Wall -Werror -Wstrict-prototypes -DCONFFILE=\"/etc/mdadm.conf\" -O2 -m3
2 -m
tune=ultrasparc   -c -o mdadm.o mdadm.c
cc1: warnings being treated as errors
In file included from mdadm.h:57,
                 from mdadm.c:30:
md_p.h: In function `md_event':
md_p.h:168: warning: left shift count >= width of type
make: *** [mdadm.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.90717 (%build)
Even odder.  It seems to think that __u64 is only 32bits wide.
Sounds like a compiler error, or an include file error.
I suspect __u64 is defined in /usr/include/asm/types.h to be
  typedef unsigned long __u64;
This is probably my fault. I've had to rearrange the "asm" links in the
include directories to get some packages to build while upgrading to
Aurora. The RHL 6.2 "include/asm*" links and directories were different.
I think I lost track of which were supposed to be where in the 2.4
kernel.

Tom "Spot" Callaway was good enough to build mdadm for me on his machine
and upload it to the Aurora site. So, I've got a good package to use
until this gets fixed.

Here's what I've got now. What do they need to look like? I know, its a
mess.

[root@winggear rpms]# ls -l /usr/include/ | grep asm
lrwxrwxrwx    1 root     root           34 May 20 14:09 asm ->
/usr/src/linux/include/asm-sparc64
lrwxrwxrwx    1 root     root           34 May 11 16:54 asm-generic ->
/usr/src/linux/include/asm-generic
drwxr-xr-x    2 root     root         4096 May 20 14:09 asm.sav
lrwxrwxrwx    1 root     root           32 May 11 16:56 asm-sparc ->
/usr/src/linux/include/asm-sparc
lrwxrwxrwx    1 root     root           34 May 11 16:56 asm-sparc64 ->
/usr/src/linux/include/asm-sparc64

[root@winggear rpms]# ls -l /usr/include/asm.sav/
total 0
lrwxrwxrwx    1 root     root           34 May 11 17:01 asm-generic ->
/usr/src/linux/include/asm-generic
lrwxrwxrwx    1 root     root           32 Apr  5 17:38 asm-sparc ->
/usr/src/linux/include/asm-sparc
lrwxrwxrwx    1 root     root           34 Apr  5 17:39 asm-sparc64 ->
/usr/src/linux/include/asm-sparc64

[root@winggear rpms]# ls -l /usr/src/ | grep linux
lrwxrwxrwx    1 root     root           22 May 11 14:36 linux ->
linux-2.4.18-0.92sparc
drwxr-xr-x    5 root     root         4096 May  6 02:47 linux-2.2.19
lrwxrwxrwx    1 root     root           22 May  7 18:41 linux-2.4 ->
linux-2.4.18-0.92sparc
drwxr-xr-x   15 root     root         4096 May 15 12:57
linux-2.4.18-0.92sparc

[root@winggear rpms]# ls -l /usr/src/linux-2.4.18-0.92sparc/include/ |
grep asm
lrwxrwxrwx    1 root     root           11 May 15 12:25 asm ->
asm-sparc64
drwxr-xr-x    2 root     root         4096 May  7 18:41 asm-generic
drwxr-xr-x    2 root     root         4096 May  7 18:41 asm-sparc
drwxr-xr-x    2 root     root         4096 May 11 14:12 asm-sparc64

/usr/src/linux-2.4.18-0.92sparc/include/asm-generic
/usr/src/linux-2.4.18-0.92sparc/include/asm
/usr/src/linux-2.4.18-0.92sparc/include/asm-sparc
/usr/src/linux-2.4.18-0.92sparc/include/asm-sparc64

Thanks!

I'm working on the RAID now, using your mdadm tool.

--Cal Webster
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help