Re: Areca RAID driver remaining items?

From: erich
Date: Wed Feb 22 2006 - 01:27:12 EST


Hi Christoph Hellwig,

Thanks for your comment with "arcmsr".
I will follow your comment to redo this driver.
But I am confuse with your mention about some items.
Hope you can tell me more detail and let me realy know your comment.

1- remove internal queueing:

Does the "internal queueing" is mention with arcmsr of ccb_free_list ?

2- fix hardware datastructures:

Does the "fix hardware datastructures" is to fix struct ARCMSR_CDB?
Is it illeagal in linux?

3- remove odd ioctls:

How about remove odd ioctl?

Best Regards
Erich Chen

----- Original Message ----- From: "Christoph Hellwig" <hch@xxxxxxxxxxxxx>
To: "Dax Kelson" <dax@xxxxxxxxxxxx>
Cc: <linux-scsi@xxxxxxxxxxxxxxx>; <linux-kernel@xxxxxxxxxxxxxxx>; <billion.wu@xxxxxxxxxxxx>; <alan@xxxxxxxxxxxxxxxxxxx>; <akpm@xxxxxxxx>; <erich@xxxxxxxxxxxx>; <arjan@xxxxxxxxxxxxx>; <oliver@xxxxxxxxxx>
Sent: Tuesday, February 21, 2006 2:20 AM
Subject: Re: Areca RAID driver remaining items?


On Mon, Feb 20, 2006 at 11:02:32AM -0700, Dax Kelson wrote:
This appears to be the most current version of the driver:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc4/2.6.16-rc4-mm1/broken-out/areca-raid-linux-scsi-driver.patch

Is this the current TODO list?

=================
Issues not yet patched:

13. uintNN_t int types: use kernel types except for userspace
interfaces
14. use kernel-doc
18. Put arcmsr.txt in Documentation/scsi/, not in scsi/arcmsr/.
19. Maybe use sysfs (/sys) instead of /proc.
20. check stack usage, init/exit sections;


- remove internal queueing
- fix hardware datastructures
- remove odd ioctls
- remove useless forward prototypes
- give types like ACB useful names
- give variable useful names, especially follow kernel conventions,
e.g. a struct pci_dev is usually named pdev
- kill ->proc_info method
- use normal comment style even for comments not fitting into the
kernel-doc item above. kill useless separator comments without
text
- convert arcmsr_show_firmware_info to useful one value per
file attributes. best follow the schemes used in aacraid or
lpfc
- convert arcmsr_show_driver_state to useful one value per
file attributes.
- remove never called release method in the host template
- audit whether setting unchecked_isa_dma to false really makes
sense (I strongly doubt it)
- remove shutdown notifier, add pci_driver ->shutdown method instead
- remove CameCase PCI Ids. The vendor Id should go into pci_ids.h,
the device ids either removed or spelled the normal linux way
- arcmsr_do_interrupt should stop walking the global host list
and use the private data passed to request_irq
- the global host list should go away completely
- arcmsr_bios_param looks like duplicating the generic CAM version?
- locking needs to be redone. If the driver really needs more than
one per-host lock we'll want a very good explanation
- arcmsr_device_probe needs to be rewritten to do goto-based
error unwinding.
- msi should be a module options if at all, but defintitly not
a config options
- arcmsr_scsi_host_template_init should go away. the host template
must be initialized statically with no run-time writes to it
- the hardware documentation should be split out of arcmsr.h
into a separate file (btw, thanks a lot to areca to provide such
detailed hardware informations, it's just the wrong format..)
- remove the SCSISTAT_* defines, and use the generic ones from
<scsi/scsi.h> instead. Dito for various other SAM defines.
- the driver has just two files and should go directly into
drivers/scsi instead of a subdirectory

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/