Re: [PATCH V2] scsi:spraid: initial commit of Ramaxel spraid driver
From: Hannes Reinecke <hare@suse.de>
Date: 2021-11-29 13:06:15
On 11/26/21 8:33 AM, Yanling Song wrote:
This initial commit contains Ramaxel's spraid module.
Signed-off-by: Yanling Song <redacted>
Changes from V1:
1. Use BSG module to replace with ioctrl
2. Use author's email as MODULE_AUTHOR
3. Remove "default=m" in drivers/scsi/spraid/Kconfig
4. To be changed in the next version:
a. Use get_unaligned_be*() in spraid_setup_rw_cmd();
b. Use pr_debug() instead of introducing dev_log_dbg().
---
Documentation/scsi/spraid.rst | 16 +
MAINTAINERS | 7 +
drivers/scsi/Kconfig | 1 +
drivers/scsi/Makefile | 1 +
drivers/scsi/spraid/Kconfig | 10 +
drivers/scsi/spraid/Makefile | 7 +
drivers/scsi/spraid/spraid.h | 693 ++++++
drivers/scsi/spraid/spraid_main.c | 3328 +++++++++++++++++++++++++++++
8 files changed, 4063 insertions(+)
create mode 100644 Documentation/scsi/spraid.rst
create mode 100644 drivers/scsi/spraid/Kconfig
create mode 100644 drivers/scsi/spraid/Makefile
create mode 100644 drivers/scsi/spraid/spraid.h
create mode 100644 drivers/scsi/spraid/spraid_main.cHmm. This entire thing looks like an NVMe controller which is made to look like a SCSI controller. It even uses most of the NVMe structures. And from what I've seen there is not much SCSI specific in here; I/O and queue setup is pretty much what every NVMe controller does. So why not make it a true NVMe controller? Yes, you would need to discuss with the NVMe folks on how a RAID controller should look like in NVMe terms. But overall I guess the driver would be far smaller and possibly easier to maintain. So where's the benefit having it as a SCSI driver (apart from the fact that is allows you to side-step having to discuss the interface with NVMexpress.org ...)? Or, to put it the other way round: Is there anything SCSI specific which would prevent such an approach? Cheers, Hannes -- Dr. Hannes Reinecke [off-list ref] <insert signature here>