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: Always 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 `ah_hmac_digest': /usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h:26: warning: implicit declaration of function `crypto_hmac_init' /usr/src/linux-2.4.21-4.0.1.EL/include/net/ah.h:27: `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 `esp_hmac_digest': /usr/src/linux-2.4.21-4.0.1.EL/include/net/esp.h:49: `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:
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)
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.
No I don't I mean the module option for the scsi modules as documented in the release notes.
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 RHEL 3.
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.
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?
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.
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?
Please post the output from lspci lspci -i and the /var/log/messages that show up when you do #insmod qla2300 extended_error_logging=1
Created attachment 96019 [details] The output of insmod The output of 'insmod qla2300 extended_error_logging=1'.
Created attachment 96020 [details] lspci output The output of 'lspci' and 'lspci -n'.