Opened 12 years ago

Closed 12 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 12 years ago.
patchset provided by Don Brace to support HP smart array controller

Download all attachments as: .zip

Change History (12)

by Alex Samorukov, 12 years ago

patchset provided by Don Brace to support HP smart array controller

comment:1 by Alex Samorukov, 12 years ago

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 by Christian Franke, 12 years ago

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 by Christian Franke, 12 years ago

Keywords: cciss freebsd linux added

comment:4 by Christian Franke, 12 years ago

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

comment:5 by brace77070, 12 years ago

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 by Christian Franke, 12 years ago

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 by Christian Franke, 12 years ago

Milestone: Release 5.43

No feedback, removing milestone.

comment:8 by brace77070, 12 years ago

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

comment:9 by Christian Franke, 12 years ago

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

comment:10 by Christian Franke, 12 years ago

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

comment:11 by Christian Franke, 12 years ago

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