public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* Qlogic FC driver(s)
@ 2003-05-05 17:56 brian.auld
  2003-05-07 16:24 ` Fabien Salvi
  0 siblings, 1 reply; 3+ messages in thread
From: brian.auld @ 2003-05-05 17:56 UTC (permalink / raw)
  To: linux-scsi

Hello,

Can someone in the 'know' comment on the differences/background as to why there is a Qlogic Fibre Channel driver in the kernel tree and a separate driver released by qlogic. 

Is one preferable over the other?

I'm doing some iSCSI target driver work. I have an FC target driver as a reference that was superimposed on top of the qlogic intitiator driver found in the kernel tree (as opposed to glogic). I want to make sure this base driver (kernel tree vs. qlogic) is the preferred choice before proceeding. 

Cheers,

-- Brian

^ permalink raw reply	[flat|nested] 3+ messages in thread
* RE: Qlogic FC driver(s)
@ 2003-05-07 20:47 Duane Grigsby
  0 siblings, 0 replies; 3+ messages in thread
From: Duane Grigsby @ 2003-05-07 20:47 UTC (permalink / raw)
  To: Fabien Salvi, brian.auld; +Cc: linux-scsi

The official Qlogic driver 6.x has been qualified by numerous OEMs and ourselves in multi-node SANs environments.  We have a 2.5 kernel driver which will soon be available on Soureforge. It contains the suggestions that was made by the scsi maintainers and alot more. Feel free to play around with it and send us your suggestions.    

>>-----Original Message-----
>>From: Fabien Salvi [mailto:fabien@cri74.org]
>>Sent: Wednesday, May 07, 2003 9:25 AM
>>To: brian.auld@adic.com
>>Cc: linux-scsi@vger.kernel.org
>>Subject: Re: Qlogic FC driver(s)
>>
>>
>>
>>
>>brian.auld@adic.com a écrit:
>>> Hello,
>>> 
>>> Can someone in the 'know' comment on the 
>>differences/background as to why there is a Qlogic Fibre 
>>Channel driver in the kernel tree and a separate driver 
>>released by qlogic. 
>>> 
>>> Is one preferable over the other?
>>> 
>>> I'm doing some iSCSI target driver work. I have an FC 
>>target driver as a reference that was superimposed on top of 
>>the qlogic intitiator driver found in the kernel tree (as 
>>opposed to glogic). I want to make sure this base driver 
>>(kernel tree vs. qlogic) is the preferred choice before proceeding. 
>>> 
>>
>>Hello Brian,
>>
>>There are a lot of differences between the kernel one and the Qlogic 
>>official driver.
>>The first one is based on an old driver, it's not really maintained.
>>I can't use it when I use FC switch in F_port.
>>
>>The official Qlogic driver works betten in my opinion, but it's not 
>>integrated because of specific coding not accepted by scsi 
>>maintainer :
>>
>>Here is what Christoph Hellwig said :
>>
>>
>>First thing is of course to actually port the driver to 
>>2.5-CURRENT, there's
>>no way it'll get into 2.4 before 2.5.
>>
>>The it needs some massaging into an actual linux driver:
>>
>>* remove typedef abuse
>>* remove #ifdef abuse.  The current driver is ifdef hell at it's best.
>>   examples:
>>
>>#ifdef UNIQUE_FW_NAME
>>unsigned short fw2300ip_version = 3*1024+1;
>>#else
>>unsigned short risc_code_version = 3*1024+1;
>>#endif
>>
>>   just always use the unique name, it can't harm
>>
>>#if QLA2X_PERFORMANCE
>>
>>   WTF?  Either your performance changes work and can always 
>>be enabled
>>   or you should remove them from a submitted driver.
>>   The useful remaining options should be turned into CONFIG_* symbols
>>   for use with the kernel config tools.
>>
>>* the source file organization is a mess.  Don't ever include c files
>>   in other c files.  Reorganize the code into qla2100/qla2200/qla2300
>>   specific sources and common sources instead of the ifdef mess and
>>   turn the shared code into a library module (e.g. qla2x00.ko)
>>
>>* don't delcare the host template in a header but as normal struct,
>>   see the many 2.5 driver that underwent that change (i.e. aic7xxx)
>>
>>Second there's a bunch of functional changes that need to be done:
>>
>>* Convert to the new pci API and scsi_add_host/scsi_remove_host for
>>   proper PCI hotplug support.
>>* Remove failover/multipath support.  It has been frequently stated
>>   multipathing for linux schould be handle in the driver-independant
>>   later, like the merged md-level support or IBM's scsi midlayer
>>   MP patches.
>>* Don't use deprecated functions like check_region :)
>>* Use proper abstraction instead of version checking hell in the
>>   source files.  I.e. the many occurances of
>>
>>#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
>>         spin_lock_irq(&io_request_lock);
>>#else
>>	spin_lock_irq(ha->host->host_lock);
>>#endif
>>
>>   should be hidden behing a proper wrapper.
>>* scsi_block_requests/scsi_unblock_requests instead of 
>>queueing commands
>>   yourself in ->queuecommand if the port stated is "dead" and remove
>>   much of the then obsolete queueing code.
>>
>>
>>Janitoral stuff:
>>
>>* there seems to be lots of missing error return checks (i.e. 
>>copy_from_user)
>>* rename kmem_zalloc or just use kmalloc directly - Linux 2.5 
>>already has
>>   a kmem_zalloc (in XFS)
>>
>>I guess there's some more stuff that can be found once the 
>>driver is in
>>a saner shape, but the list is already huge enough 8)
>>
>>
>>
>>
>>-- 
>>Fabien SALVI      Centre de Ressources Informatiques
>>                   Archamps, France -- http://www.cri74.org
>>                   PingOO GNU/linux distribution : 
http://www.pingoo.org

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-05-07 20:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-05 17:56 Qlogic FC driver(s) brian.auld
2003-05-07 16:24 ` Fabien Salvi
  -- strict thread matches above, loose matches on Subject: below --
2003-05-07 20:47 Duane Grigsby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox