Bug 109636 - Kernel 2.4.21-4.0.1.EL compile problem
Summary: Kernel 2.4.21-4.0.1.EL compile problem
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel   
(Show other bugs)
Version: 3.0
Hardware: athlon
OS: Linux
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2003-11-10 15:18 UTC by Peter Klotz
Modified: 2007-11-30 22:06 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-11-10 15:29:22 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
cat /proc/scsi/scsi for RHAS 2.1 and RHEL 3 (3.09 KB, text/plain)
2003-11-11 08:05 UTC, Peter Klotz
no flags Details
The output of insmod (3.91 KB, text/plain)
2003-11-17 16:28 UTC, Peter Klotz
no flags Details
lspci output (2.38 KB, text/plain)
2003-11-17 16:31 UTC, Peter Klotz
no flags Details

Description Peter Klotz 2003-11-10 15:18:31 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5)
Gecko/20031007 Firebird/0.7

Description of problem:
Kernel 2.4.21-4.0.1.EL compile fails with the error message shown
below when the option "Probe all LUNs on each SCSI device" is selected.

It seems we need this option in order to get our IBM FAStT700 Storage
Server to work.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.cd /usr/src/linux-2.4.21-4.0.1.EL
2.cp configs/kernel-2.4.21-athlon-smp.config .config
3.make xconfig (Activate option "Probe all LUNs on each SCSI device")
4.make dep
5.make clean
6.make bzImage

Actual Results:  gcc -D__KERNEL__
-I/usr/src/linux-2.4.21-4.0.1.EL/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fno-strict-aliasing -fno-common  -Wno-unused
-fomit-frame-pointer -pipe -freorder-blocks
-mpreferred-stack-boundary=2 -march=athlon   -nostdinc -iwithprefix
include -DKBUILD_BASENAME=xfrm_algo  -c -o xfrm_algo.o xfrm_algo.c
In file included from xfrm_algo.c:16:
/usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h: In function
/usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h:26: warning: implicit
declaration of function `crypto_hmac_init'
`crypto_hmac_update' undeclared (first use in this function)
/usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h:27: (Each undeclared
identifier is reported only once
/usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h:27: for each function
it appears in.)
/usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h:28: warning: implicit
declaration of function `crypto_hmac_final'
In file included from xfrm_algo.c:19:
/usr/src/linux-2.4.21-4.0.1.EL/include/net/esp.h: In function
`crypto_hmac_update' undeclared (first use in this function)
make[3]: *** [xfrm_algo.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.21-4.0.1.EL/net/xfrm'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.21-4.0.1.EL/net/xfrm'
make[1]: *** [_subdir_xfrm] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.21-4.0.1.EL/net'
make: *** [_dir_net] Error 2

Expected Results:  The kernel should compile.

Additional info:

Comment 1 Arjan van de Ven 2003-11-10 15:29:22 UTC
1) you forgot make mrproper
2) custom compiled kernels aren't supported
3) you don't need to compile your kernel for that option;
   it's a runtime option! (see the release notes for documentation)

Comment 2 Peter Klotz 2003-11-11 07:58:34 UTC
A runtime option sounds great.

Do you refer to this command?

echo "scsi scan-new-devices" > /proc/scsi/scsi

It does not seem to make any difference. I will supply an attachment
that shows /proc/scsi/scsi on a RHAS 2.1 system in comparison to a
RHEL 3 machine.

Comment 3 Arjan van de Ven 2003-11-11 08:03:36 UTC
No I don't
I mean the module option for the scsi modules as documented in the
release notes.

Comment 4 Peter Klotz 2003-11-11 08:05:57 UTC
Created attachment 95895 [details]
cat /proc/scsi/scsi for RHAS 2.1 and RHEL 3

As you can see, the list on the RHAS 2.1 system is much longer than the one on

Comment 5 Arjan van de Ven 2003-11-11 08:18:34 UTC
Tom: this is one for the whitelist

I just saw that the text has been mistakingly ommited from the RHEL3
release notes:
    - When using RAID storage configured with Logical Unit Numbers (LUNs)
      greater than zero, it is necessary to enable LUN support by adding
      the following entry to the /etc/modules.conf file:

      options scsi_mod max_scsi_luns=255

      After modifying modules.conf, it is necessary to rebuild the initial
      ramdisk using mkinitrd.  Refer to The Official Red Hat Linux
      Customization Guide for more information about creating the ramdisk
      image with mkinitrd.

Comment 6 Peter Klotz 2003-11-11 14:41:37 UTC
Thank you for the detailed information. I changed /etc/modules.conf,
rebuilt the initial ramdisk but the problem persists.

The file linuxrc in the initial ramdisk contains the following lines:
insmod /lib/scsi_mod.o max_scsi_luns=255
insmod /lib/qla2300.o

Nevertheless the module qla2300.o is not loaded at startup. If I load
it manually via 'modprobe qla2300' a single device with LUN 0 appears
in /proc/scsi/scsi:

Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM      Model: 1742             Rev: 0520
  Type:   Direct-Access                    ANSI SCSI revision: 03

I am missing entries with LUNs from 01 to 10. Is there anything else I
can check?

Comment 7 Tom Coughlan 2003-11-11 15:21:12 UTC
I will add the device to the whitelist.

One thing to note is that when a device is not in the whitelist, the
LUN numbers must be sequential, starting at zero.

Are you sure LUN 1 is visible through this HBA?  You may be able to
check by stopping in the QLogic BIOS and running the disk test.

I am not sure why the qla2300 driver is not loaded at boot time. Check
for messages in /var/log/messages. 

Comment 8 Peter Klotz 2003-11-12 16:24:25 UTC
Using the following script, I am able to access all partitions:

modprobe qla2300
echo "scsi-add-single-device 1 0 0 1" > /proc/scsi/scsi
echo "scsi-add-single-device 1 0 0 2" > /proc/scsi/scsi
echo "scsi-add-single-device 1 0 0 3" > /proc/scsi/scsi
echo "scsi-add-single-device 1 0 0 4" > /proc/scsi/scsi
echo "scsi-add-single-device 1 0 0 5" > /proc/scsi/scsi
echo "scsi-add-single-device 1 0 0 6" > /proc/scsi/scsi

The LUN numbers are sequential, from 00 to 06 (LUN 00 is added when
the module is loaded). According to the IBM SMclient software these
LUNs are the only ones used on the controller.

I did not find any suspicious messages in /var/log/messages.

Is there a way to place my script such that it is executed before
fstab partitions are mounted?

It would be great to have the required module loaded at startup and
the kernel to probe for all LUNs. Is there a chance to accomplish that?

Comment 9 Tom Coughlan 2003-11-13 21:12:07 UTC
Please post the output from 

lspci -i 

and the /var/log/messages that show up when you do 

#insmod qla2300 extended_error_logging=1 

Comment 10 Peter Klotz 2003-11-17 16:28:37 UTC
Created attachment 96019 [details]
The output of insmod

The output of 'insmod qla2300 extended_error_logging=1'.

Comment 11 Peter Klotz 2003-11-17 16:31:32 UTC
Created attachment 96020 [details]
lspci output

The output of 'lspci' and 'lspci -n'.

Note You need to log in before you can comment on or make changes to this bug.