Re: [PATCH 0/4] mylex: Replace DAC960 block driver

2018-01-08 Thread Christoph Hellwig
Btw, did you manage to get any further with these new drivers?


Re: [PATCH 0/4] mylex: Replace DAC960 block driver

2017-08-09 Thread Hannes Reinecke
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

2017-08-09 Thread Christoph Hellwig
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

2017-08-02 Thread Hannes Reinecke
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