Opened 22 months ago

Closed 7 months ago

#1853 closed patch (duplicate)

Add ps3stor RAID(ps3stor RAID Controller) support on Linux

Reported by: babyxong Owned by:
Priority: minor Milestone:
Component: all Version:
Keywords: ps3stor linux Cc: babyxong

Description (last modified by babyxong)

Hello,
I work at ps3stor and want to support our RAID cards descripted in smartmontools

Attachments (1)

smart_7.4_ps3stor2smart.patch (52.5 KB ) - added by babyxong 22 months ago.
Add ps3stor RAID(ps3stor RAID Controller) support on Linux

Download all attachments as: .zip

Change History (6)

by babyxong, 22 months ago

Add ps3stor RAID(ps3stor RAID Controller) support on Linux

comment:1 by babyxong, 22 months ago

Description: modified (diff)
Keywords: RAID removed
Priority: majorminor

comment:2 by Christian Franke, 22 months ago

Component: smartctlall
Keywords: linux added; Linux removed
Milestone: Release 7.5undecided

Thanks. Code review make take some longer of time, sorry.

Please provide more detailed information about ps3stor and explain why we should add this feature upstream.

Make sure that the code also works with smartd. This requires proper open/close handling w/o descriptor leaks.

PS: In future submissions, please do not set a milestone.

Version 0, edited 22 months ago by Christian Franke (next)

in reply to:  2 comment:3 by babyxong, 9 months ago

Sorry, we didn't reply in time because we've been doing some marketing promotions for our products.In order to be compatible with the HBA and RAID cards of Linkdata Technology (Tianjin) Co., LTD(http://www.linkdatatechnology.com/

comment:4 by Christian Franke, 9 months ago

Code looks good in general. Some hints after a first quick review:

  • Remove the changes to CHANGELOG (retired) and AUTHORS (will be replaced).
  • Rename ps3stor.* to dev_ps3stor.* and change Makefile.am accordingly.
  • Move the new code from top of os_linux.cpp to lines before /// Marvell support (currently starting at line 2192).
  • Avoid malloc() and free() unless there is a need for realloc(). We now allow C++11 (but not C++14), so std::unique_ptr<> in conjunction with new is recommended, convenient and avoids leaks.
  • Always insert a space between statement (but not function) and (, for example if (...) but not if(...), etc.
  • smartctl.8.in: There is a bogus +.\" %ENDIF OS Linux without %IF. Make sure to test the formatted man page.
  • smartd.conf.5.in: Documentation of -d ps3stor is missing.
  • The autodetect_open() is no longer needed to detect SAT if the standard way works. Remove this function and use the "sat,auto" method instead. See cciss, ... for examples.
  • The sections at comments // Controller does not return ATA output registers in SAT sense data and // SMART WRITE LOG SECTOR causing media errors are obviously copied from code to workaround bugs of MegaRAID firmware. Please explain why you reused this code.
  • Is this code thoroughly tested with smartctl and smartd with SAS and SATA disks?
  • If not: The controller should not be unconditionally included in --scan and DEVICESCAN.
  • Please provide sample smartctl -d ps3stor,N -x -a outputs for at least one SAT and one SATA device behind this controller.
  • Please provide detailed info (website, specs, ...) of this controller series.

Meantime we moved the project from SF to GitHub. Please provide the revised and rebased code as a PR at
https://github.com/smartmontools/smartmontools

comment:5 by Christian Franke, 7 months ago

Milestone: undecided
Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.