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