Bug 445095

Summary: BusLogic module can't compile in the rhel 5.2 beta kernel
Product: Red Hat Enterprise Linux 5 Reporter: Levente Farkas <lfarkas>
Component: kernelAssignee: Prarit Bhargava <prarit>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: low    
Version: 5.2CC: ajb, amyagi, dzickus, hansg
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 20:25:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
bugfix
none
a working patch:-)
none
RHEL5 fix for this issue none

Description Levente Farkas 2008-05-03 17:18:05 UTC
Description of problem:
while i try to recompile the latest rhel 5.2 beta kernel-2.6.18-84.el5 to
include BusLogic (which is required for vmware, so it'd be useful to include it
anyway at least as a module!!!), i've got the following error. i don't modify
anything else just 
CONFIG_SCSI_BUSLOGIC=m
another problem that this kernel contains kabi_whitelist_* files in the src.rpm
(although the spec file generate it fi it's not there but that case at the end
when try to create the src.rpm if fails because the files are missing). so imho
it'd be better not to include these files in the src.rpm, rather generate it
after the compile.
-------------------------------------------------
In file included from drivers/scsi/BusLogic.c:57:
drivers/scsi/BusLogic.h:241: error: redeclaration of enumerator 'false'
include/linux/stddef.h:16: error: previous definition of 'false' was here
drivers/scsi/BusLogic.h:243: error: redeclaration of enumerator 'true'
include/linux/stddef.h:18: error: previous definition of 'true' was here
drivers/scsi/BusLogic.c: In function 'BusLogic_InitializeProbeInfoListISA':
drivers/scsi/BusLogic.c:584: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:586: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:588: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:590: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:592: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:594: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c: In function 'BusLogic_InitializeMultiMasterProbeInfo':
drivers/scsi/BusLogic.c:800: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:810: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:812: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:814: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:816: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c:818: warning: 'check_region' is deprecated (declared at
include/linux/ioport.h:134)
drivers/scsi/BusLogic.c: In function 'BusLogic_init':
drivers/scsi/BusLogic.c:2301: warning: ignoring return value of 'scsi_add_host',
declared with attribute warn_unused_result
make[2]: *** [drivers/scsi/BusLogic.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [drivers/scsi] Error 2
make[1]: *** Waiting for unfinished jobs....
-------------------------------------------------

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Prarit Bhargava 2008-05-05 14:28:32 UTC
While we (RedHat) don't include this module in our distro, it should at least
compile.

P.

Comment 2 Levente Farkas 2008-05-05 15:39:07 UTC
imho it'd be useful in inlcude as a module (because of vmware) and the patch is
very simple: 
--- ./drivers/scsi/BusLogic.h.lfarkas   2008-05-05 16:35:15.000000000 +0200    
                                                                               
                                                                            
+++ ./drivers/scsi/BusLogic.h   2008-05-05 16:35:43.000000000 +0200            
                                                                               
                                                                            
@@ -236,12 +236,12 @@                                                          
                                                                               
                                                                            
 /*                                                                            
                                                                               
                                                                            
   Define a Boolean data type.                                                 
                                                                               
                                                                            
 */                                                                            
                                                                               
                                                                            
-                                                                              
                                                                               
                                                                            
+/*                                                                            
                                                                               
                                                                            
 typedef enum {                                                                
                                                                               
                                                                            
        false,                                                                 
                                                                               
                                                                            
        true                                                                   
                                                                               
                                                                            
 } PACKED boolean;                                                             
                                                                               
                                                                            
-                                                                              
                                                                               
                                                                            
+*/                                                                            
                                                                               
                                                                            
 /*                                                                            
                                                                               
                                                                            
   Define a 10^18 Statistics Byte Counter data type.                           
                                                                               
                                                                            
 */                                                       

Comment 3 Levente Farkas 2008-05-05 15:49:41 UTC
Created attachment 304531 [details]
bugfix

it seems cun'n'paste is not working so i attached it.

Comment 4 Levente Farkas 2008-05-05 17:48:16 UTC
ok it was not that simple. so actually remove the typedef boolean and 
sed s/boolean/bool/g in BusLogic.{c,h} and FlashPoint.c is better (which is
what's in the current kernel.

Comment 5 Levente Farkas 2008-05-05 17:49:15 UTC
Created attachment 304542 [details]
a working patch:-)

Comment 6 Prarit Bhargava 2008-05-06 12:01:41 UTC
Backport of 

http://marc.info/?l=git-commits-head&m=117122477703016&w=2

P.

Comment 7 Prarit Bhargava 2008-05-06 12:02:51 UTC
Created attachment 304629 [details]
RHEL5 fix for this issue

Comment 8 Levente Farkas 2008-05-20 08:22:37 UTC
the only remaining question does rh build the buslogic driver in the default
kernel? without it the default kernel can't be used in vmware images:-( so it'd
be useful.
thanks

Comment 9 Prarit Bhargava 2008-05-20 10:18:54 UTC
Levente, RH does not build the buslogic driver in RHEL.

If this is a production issue, please report it to your Red Hat Support contact.

Thanks,

P.

Comment 10 Levente Farkas 2008-06-18 18:22:46 UTC
please close this bug since it's been already solved

Comment 11 RHEL Program Management 2008-06-26 12:46:24 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 13 Prarit Bhargava 2008-06-30 12:28:29 UTC
*** Bug 453281 has been marked as a duplicate of this bug. ***

Comment 14 Akemi Yagi 2008-07-01 15:19:48 UTC
(In reply to comment #8)
> the only remaining question does rh build the buslogic driver in the default
> kernel? without it the default kernel can't be used in vmware images:-( so
>it'd be useful.

If you use the LSI Logic SCSI adapter, there should not be a problem with
vmware.  In VMware workstation and VMware Server, I never needed to specify the
adapter.  Maybe because I select "Red Hat Enterprise Linux" as the guest OS? 
But some people say they have to actually choose the LSI to not use BusLogic.



Comment 15 Hans de Groot 2008-08-08 09:58:19 UTC
> If you use the LSI Logic SCSI adapter, there should not be a problem with
> vmware.  In VMware workstation and VMware Server, I never needed to specify the
> adapter.  Maybe because I select "Red Hat Enterprise Linux" as the guest OS? 
> But some people say they have to actually choose the LSI to not use BusLogic.

I could NOT choose the LSI Logic adapter in VMWARE server 1.06 when adding a real physical drive. When adding image files I could choose LSI but adding a 1 tb external USB disk formatted as ext3 there is no option to choose LSI. So In my opinion it would be very usefull to add buslogic support. Specially when rebuiling your own kernel requires you to patch the buslogic driver first.

And I realy prefer to use standard kernels so I do not need to rebuild/compile every time there is a kernel update. And vmware is used used a lot these days.

Regards

Hans de Groot

Comment 16 Hans de Groot 2008-08-08 10:56:11 UTC
Okay I finnaly did figure out how to change it to lsi logic. This is done in the guest .vmx file by adding a line scsi0.virtualDev = "lsilogic" to it. I tried chancing the vmdk file of the drive, and that does not work. So I guess my earlier remark is not valid.

Comment 17 Don Zickus 2008-08-08 21:08:19 UTC
in kernel-2.6.18-103.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 18 Alan Bartlett 2008-08-09 11:26:12 UTC
(In reply to comment #10)
> please close this bug since it's been already solved

It will be solved when there is a viable patch included in the SRPMS. At present, it is not solved, Levente.

Comment 23 errata-xmlrpc 2009-01-20 20:25:28 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2009-0225.html