Opened 13 years ago
Closed 13 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)
Change History (12)
by , 13 years ago
Attachment: | smartmontools_cciss_ata.tar.gz added |
---|
comment:1 by , 13 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 , 13 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 , 13 years ago
Keywords: | cciss freebsd linux added |
---|
comment:4 by , 13 years ago
Summary: | add support for the HP Smart Array RAID controllers → SAT auto-detection support for the HP Smart Array RAID controllers |
---|
comment:5 by , 13 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 , 13 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:10 by , 13 years ago
Milestone: | → Release 5.43 |
---|---|
Owner: | changed from | to
Status: | new → accepted |
patchset provided by Don Brace to support HP smart array controller