Re: [PATCH 0/4] mylex: Replace DAC960 block driver
Btw, did you manage to get any further with these new drivers?
Re: [PATCH 0/4] mylex: Replace DAC960 block driver
On 08/09/2017 04:23 PM, Christoph Hellwig wrote: > On Wed, Aug 02, 2017 at 04:13:24PM +0200, Hannes Reinecke wrote: >> Hi all, >> >> as we're trying to get rid of the remaining request_fn drivers here's >> a patchset to move the DAC960 driver to the SCSI stack. >> The new driver is called 'mylex'. >> >> The Mylex/DAC960 HBA comes in two flavours; the later one (V2) already >> has a pretty complete SCSI emulation layer, so we just have to reformat >> the command. >> For for earlier ones (V1) we don't have a SCSI emulation layer for the >> logical drives, so I've added a (pretty rudimentary, admittedly) SCSI >> translation for them. >> And the weird proc interface has been converted to sysfs attributes. > > It seems like V1 and V2 basically don't share any code at all, so it seems > like they should be separate drivers. And for V1 it seems like it might > even be better off as a blk-mq driver - which could then reuse the DAC960 > name and device nodes? > > For the V2 firmware your approach looks great, though. > Guess what, I've started doing the separation already :-) For V1 I'm indeed unsure; thing is, it _does_ have a SCSI passthrough for the physical devices, so that definitely simplifies things. And for the logical drives; doing a SCSI emulation is not hard to do (especially so if one sticks with SCSI-3 :-), so I'd rather move it to become a SCSI driver. Cheers, Hannes -- Dr. Hannes ReineckeTeamlead Storage & Networking h...@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)
Re: [PATCH 0/4] mylex: Replace DAC960 block driver
On Wed, Aug 02, 2017 at 04:13:24PM +0200, Hannes Reinecke wrote: > Hi all, > > as we're trying to get rid of the remaining request_fn drivers here's > a patchset to move the DAC960 driver to the SCSI stack. > The new driver is called 'mylex'. > > The Mylex/DAC960 HBA comes in two flavours; the later one (V2) already > has a pretty complete SCSI emulation layer, so we just have to reformat > the command. > For for earlier ones (V1) we don't have a SCSI emulation layer for the > logical drives, so I've added a (pretty rudimentary, admittedly) SCSI > translation for them. > And the weird proc interface has been converted to sysfs attributes. It seems like V1 and V2 basically don't share any code at all, so it seems like they should be separate drivers. And for V1 it seems like it might even be better off as a blk-mq driver - which could then reuse the DAC960 name and device nodes? For the V2 firmware your approach looks great, though.
[PATCH 0/4] mylex: Replace DAC960 block driver
Hi all, as we're trying to get rid of the remaining request_fn drivers here's a patchset to move the DAC960 driver to the SCSI stack. The new driver is called 'mylex'. The Mylex/DAC960 HBA comes in two flavours; the later one (V2) already has a pretty complete SCSI emulation layer, so we just have to reformat the command. For for earlier ones (V1) we don't have a SCSI emulation layer for the logical drives, so I've added a (pretty rudimentary, admittedly) SCSI translation for them. And the weird proc interface has been converted to sysfs attributes. Tested with eXtremeRAID 1100 (for V1 Firmware) and Mylex AcceleRAID 170 (for V2 Firmware). As usual, comments and reviews are welcome. Hannes Reinecke (4): raid_class: Add 'JBOD' RAID level scsi: Add VENDOR_SPECIFIC sense code definitions scsi: add Mylex RAID controller block: Drop obsolete DAC960 driver Documentation/blockdev/README.DAC960 | 756 drivers/block/DAC960.c | 7241 -- drivers/block/DAC960.h | 4415 - drivers/block/Kconfig| 12 - drivers/block/Makefile |1 - drivers/scsi/Kconfig | 12 + drivers/scsi/Makefile|1 + drivers/scsi/mylex.c | 6025 drivers/scsi/mylex.h | 4029 +++ drivers/scsi/raid_class.c|1 + include/linux/raid_class.h |1 + include/scsi/scsi_proto.h|1 + 12 files changed, 10070 insertions(+), 12425 deletions(-) delete mode 100644 Documentation/blockdev/README.DAC960 delete mode 100644 drivers/block/DAC960.c delete mode 100644 drivers/block/DAC960.h create mode 100644 drivers/scsi/mylex.c create mode 100644 drivers/scsi/mylex.h -- 1.8.5.6