Opened 8 years ago

Closed 7 years ago

#202 closed enhancement (fixed)

SAT auto-detection support for the HP Smart Array RAID controllers

Reported by: Alex Samorukov Owned by: Christian Franke
Priority: major Milestone: Release 5.43
Component: all Version:
Keywords: cciss freebsd linux Cc:

Description

Don Brace from HP provided patches to support HP Smart Array RAID controllers with smartmontools. I am not sure that we are able to accept the patches as is, but i have no access to such hardware and not able to help too much. I already wrote some recommendations and comments in the private mailing (especially about SAT re-implementation in the code) but it probably better to keep it public to find some acceptable solution. Provided patches are attached to the ticket.

Attachments (1)

smartmontools_cciss_ata.tar.gz (8.9 KB) - added by Alex Samorukov 8 years ago.
patchset provided by Don Brace to support HP smart array controller

Download all attachments as: .zip

Change History (12)

Changed 8 years ago by Alex Samorukov

patchset provided by Don Brace to support HP smart array controller

comment:1 Changed 8 years ago by Alex Samorukov

Some mine commands: i think that this patch have a lot of code duplication with the code already exists in smartmontools.

cciss_device_is_sata do the same things as smart_interface::autodetect_sat_device and linux_cciss_device::ata_pass_through is nothing else but simplified implementation of the SAT16 protocol + some ciss specific code. I think that ciss specific code could be added into ciss scsi_pass_through to avoid duplication of the SAT layer and ata_device class.

comment:2 Changed 8 years ago by Christian Franke

The SAT16 implementation in linux_cciss_device::ata_pass_through() may not support:

  • DATA OUT commands (PROTOCOL bits are never set to PIO DATA OUT)
  • NON DATA commands other than SMART STATUS
  • 48-bit commands (EXTEND bit is always clear)

It should be first checked whether smartctl -d sat+cciss,N works instead.

If yes it would be much simpler to handle the SATA auto-detection in a new cciss_device::autodetect_open() function and return existing SAT implementation via get_sat_device("sat", scsidev). SAT layer limitations can easily be handled in linux_cciss_device::scsi_pass_through() then.

The whitespace only changes to dev_interface.h should be removed from the patch.

comment:3 Changed 8 years ago by Christian Franke

Keywords: cciss freebsd linux added

comment:4 Changed 8 years ago by Christian Franke

Summary: add support for the HP Smart Array RAID controllersSAT auto-detection support for the HP Smart Array RAID controllers

comment:5 Changed 8 years ago by brace77070

Could you please offer some hints on how to do this?

If yes it would be much simpler to handle the SATA auto-detection in a new cciss_device::autodetect_open() function and return existing SAT implementation via get_sat_device("sat", scsidev). SAT layer limitations can easily be handled in linux_cciss_device::scsi_pass_through() then.

comment:6 Changed 8 years ago by Christian Franke

Please update to current SVN (at least r3519) and try: smartctl -d sat,auto+cciss,N ...

If this works, replace

  return new linux_cciss_device(this, name, disknum);

by

  return get_sat_device("sat,auto", new linux_cciss_device(this, name, disknum));

in function linux_smart_interface::get_custom_smart_device().

Then this command should include SAT auto-detection: smartctl -d cciss,N ...

Same applies to FreeBSD.

comment:7 Changed 7 years ago by Christian Franke

Milestone: Release 5.43

No feedback, removing milestone.

comment:8 Changed 7 years ago by brace77070

Having issues getting the latest svn tree. Are there issues?

comment:9 Changed 7 years ago by Christian Franke

There are no known issues related to smartctl -d cciss,....

comment:10 Changed 7 years ago by Christian Franke

Milestone: Release 5.43
Owner: changed from somebody to Christian Franke
Status: newaccepted

comment:11 Changed 7 years ago by Christian Franke

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.