CHANGELOG for smartmontools
-$Id: CHANGELOG,v 1.661 2008/03/10 10:44:30 ballen4705 Exp $
+$Id: CHANGELOG 2951 2009-10-08 23:43:46Z samm2 $
The most recent version of this file is:
-http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup
-
-Maintainers / Developers Key:
-[BA] Bruce Allen
-[EB] Erik Inge Bolsø
-[SB] Stanislav Brabec
-[PC] Peter Cassidy
-[YD] Yuri Dario
-[CD] Casper Dik
-[CF] Christian Franke
-[GF] Guilhem Frézou
-[DG] Douglas Gilbert
-[GG] Guido Guenther
-[GK] Geoff Keating
-[DK] Dr. David Kirkby
-[JH] Joerg Hering
-[KM] Kai Mäkisara
-[EM] Eduard Martinescu
-[FM] Frédéric L. W. Meunier
-[KS] Keiji Sawada
-[DS] David Snyder
-[SS] Sergey Svishchev
-[PW] Phil Williams
-[LW] Leon Woestenberg
-[RZ] Richard Zybert
-[SZ] Sf Zhou
+http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/CHANGELOG?view=markup
+
+Maintainers / Developers Key (alphabetic order):
+[AS] Alex Samorukov
+[BA] Bruce Allen
+[OB] Oliver Bock
+[EB] Erik Inge Bolsø
+[SB] Stanislav Brabec
+[PC] Peter Cassidy
+[MC] Matthieu Castet
+[YD] Yuri Dario
+[CD] Casper Dik
+[CF] Christian Franke
+[GF] Guilhem Frézou
+[DG] Douglas Gilbert
+[GG] Guido Guenther
+[JPH] Jordan Powell Hargrave
+[JH] Joerg Hering
+[GK] Geoff Keating
+[DK] Dr. David Kirkby
+[DL] Dan Lukes
+[KM] Kai Mäkisara
+[EM] Eduard Martinescu
+[FM] Frédéric L. W. Meunier
+[GP] Gabriele Pohl
+[AR] Adam Radford
+[KS] Keiji Sawada
+[MS] Manfred Schwarb
+[TS] Tomas Smetana
+[DS] David Snyder
+[SS] Sergey Svishchev
+[PW] Phil Williams
+[LW] Leon Woestenberg
+[SZ] Shengfeng Zhou
+[RZ] Richard Zybert
NOTES FOR FUTURE RELEASES: see TODO file.
<DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
+ [AS] Linux: Autodetect DELL PERC and MegaRAID controllers.
+ Hiding debug messages coming from megaraid code.
+ [AS] Linux: Fixed SATA drives support on megaraid device (see ticket #15).
+
+ [AS] FreeBSD: Removed all old detection code, moving everything to
+ the objects. Now we are using CAM/ATA enumerators to guess device
+ type.
+
+ [AS] FreeBSD: Added autodetection for the ada disks (untested).
+ Code for USB device detection refactored.
+
+ [AS] FreeBSD: cam_get_umassno rewritten using XPT_PATH_INQ
+
+ [AS] FreeBSD: do not open/close cam device on every request for SCSI
+ disks. Use com->camdev both for SCSI and ATAPICAM.
+
+ [AS] FreeBSD: added support for the ada disks, based on agapon patch
+
+ [CF] Add names for attributes 184 and 188, see ticket #17.
+
+ [CF] configure.in: Change configure date syntax.
+ Add message to '-mno-cygwin' option check.
+
+ [GK] Add names for some attributes used in MLC flash drives:
+ 175, 176, 177, 181, 182
+
+ [CF] Windows: Check support of gcc '-mno-cygwin' option in configure.
+ This option has been removed in Cygwin gcc 4.x. Update INSTALL
+ instructions accordingly.
+
+ [CF] Increase SCSI_TIMEOUT_DEFAULT from 6 to 20 seconds to avoid
+ timeouts when a disk spins up from standby mode.
+
+ [CF] Add USB ID of AcomData 504 (OnSpec USB bridge).
+
+ [AS] Correcting manual pages (FreeBSD related)
+
+ [AS] FreeBSD: fix FTBFS on GNU/kFreeBSD (reported by derevko).
+
+ [AS] FreeBSD: Add USB autodetection to smartd DEVICESCAN directive.
+
+ [CF] Add USB ID of Myson Century CS8818, add some comments.
+
+ [CF] Return info strings from 'smart_interface::get_*()' functions as
+ 'std::string' instead of 'const char *'. Static buffers are no
+ longer needed.
+
+ [SZ] FreeBSD: Fix highpoint type detection and ioctl failed for parameter
+ error.
+
+ [CF] Linux: Add USB autodetection to smartd DEVICESCAN directive.
+
+ [CF] Add USB IDs of Maxtor Basics Desktop and ISD-300A1.
+
+ [AS] Use malloc() to ensure that the read buffer lands on a single
+ page. This avoids some bugs seen on LSI controlers under
+ FreeBSD.
+
+ [CF] Add missing help text for '-d usb*' options.
+
+ [CF] Linux: Dereference '/dev/disk/by-*/*' symlink before device type
+ autodetection.
+
+ [AS] FreeBSD: Support SATA disks attached to a SAS controller (based on
+ patch from freebsd ports tree).
+
+ [AS] FreeBSD: Added FreeBSD 8 libusb2 device autodetecion, new
+ configure check for -lusb.
+
+ [AS] FreeBSD: Added USB device autodetection and fixed -d switch behavior.
+
+ [AS] FreeBSD: Migrate os_freebsd.cpp to new interface.
+
+ [CF] Fix max number of 3ware devices, 128 devices are supported again.
+ Regression was introduced during migration to new interface.
+ Thanks to Michael Holweg for the problem report.
+
+ [CF] Windows installer: Add 'DisplayVersion' to uninstall registry key.
+
+ [MS] knowndrives.cpp updates:
+ - Marvell SSD SD88SA024BA0
+ - Fujitsu MHZ2 BH series
+ - Fujitsu MHZ2 BJ series
+ - Seagate Maxtor DiamondMax 23
+ - WD Caviar Green: Add some 32MB cache variants
+ - relax OCZ-Vertex pattern
+
+ [CF] Add USB ID of Verbatim FW/USB160.
+
+ [CF] Fix data type bug in checksum test for multi sector logs.
+
+ [CF] Add USB ID of Seagate FreeAgent Go.
+
+ [MS] Add experimental feature to log attribute values at each check
+ cycle (ATA only), activated with the smartd option
+ "-A PREFIX" / "--attributelog=PREFIX".
+ Introduce configure options "--enable-attributelog" and
+ "--with-attributelog=PREFIX" to enable feature by default.
+
+ [DG] [SAT] Heads up about a non backwardly compatible change
+ introduced in draft SAT-2 (sat2r8b.pdf) that will break our
+ existing SAT processing code. Action needed if change stands.
+
+ [MS] smartd.cpp: Adjust umask
+
+ [CF] Makefile.am: Remove 'uninstall-docsDATA' target to fix
+ 'make distcheck' with automake 1.11. The 'make uninstall'
+ of examplescripts fails if docdir does no longer exist.
+
+ [CF] Remove 'scsiata.h'. The 'scsiata.cpp' module now implements
+ parts of 'dev_interface.h'.
+
+ [CF] smartctl: Don't report an attribute as failed if threshold is 0.
+
+ [CF] Print only one warning on checksum errors in multi sector log.
+ Remove casts from calls of checksum().
+
+ [DG] minor changes to SCSI background scan strings
+
+ [MS] knowndrives.cpp updates:
+ - Fujitsu MHW2 BJ series
+ - WD Caviar Black family
+
+ [MS] Makefile.am: Make creation of svnversion.h independent of
+ locale settings
+
+ [CF] Require to specify PORT parameter of '-d usbjmicron' if two disks
+ are connected.
+
+ [CF] smartctl: Limit default number of printed entries for
+ '-l xerror' to 8, for '-l xselftest' to 25.
+
+ [CF] smartctl: Fix number of entries in '-l xselftest' output.
+
+ [CF] Add USB IDs of a SunplusIT bridge, three WD drives, and an
+ unsupported Iomega drive.
+
+ [CF] Makefile.am: Use 'svnversion' instead of 'svn info' to get
+ the revision number. This also checks for mixed and modified
+ working copies.
+
+ [CF] Remove CVS Id strings from '-V, --version' output.
+
+ [CF] Update CONTRIBUTORS section on man pages.
+
+ [CF] Makefile.am: 'make maintainer-clean' now removes also files
+ generated by './autogen.sh'.
+
+ [CF] Invalidate 'do_release' script, it needs some rework for SVN.
+
+ [CF] Update documentation files for SVN.
+
+ [CF] Rename trunk/sm5 to trunk/smartmontools.
+
+ [CF] Print SVN revision number instead of time in version info line.
+ Get SVN revision number from svn (if available) or guess from
+ Id strings. Rename generated file to svnversion.h.
+
+ [CF] Makefile.am: Modify generation of cvsversion.h for SVN.
+
+ [GP] Convert CVS repository to SVN.
+
+ [CF] smartd: Fix size of monitor flag array from previous commit.
+
+ [CF] Makefile.am: Add missing 'megaraid.h'.
+
+ [CF] smartd: Add '!' flag to '-r' and '-R' directives. If specified,
+ message is logged as LOG_CRIT and warning mail is sent if
+ attribute normalized or raw value changes.
+
+ [CF] Replace global 'con->...' variables used for selective self-tests
+ by local variables.
+
+ [GK] Add names for some attributes used in Samsung MLC drives:
+ 178-180 & 183
+
+ [CF] smartctl: Add option '-x, --xall' to print all info including
+ extended SMART logs and non-SMART info.
+
+ [CF] smartctl: Add '-l xerror,error' and '-l xselftest,selftest' to print
+ the old logs if the extended logs are not supported.
+
+ [MS] knowndrives.cpp updates:
+ - Western Digital AV-GP series
+ - Transcend Solid-State Drive and Transcend Solid-State Drive V series
+ - Seagate Momentus 5400.5 series
+
+ [CF] Disable 48-bit ATA commands for JMicron USB bridges by default
+ because these commands do not work with all devices.
+ Add '-d usbjmicron,x' to enable 48-bit commands.
+ Thanks to Alexander Shaduri for the problem report.
+
+ [CF] smartd: Don't ignore the '-n' directive when a self-test is
+ scheduled. Start the self-test later when the disk is active
+ again.
+
+ [DG] SCSI (SAS): implement '-l sasphy,reset' (reset part was stub
+ prior to this)
+
+ [DG] add 'ATA, SCSI command sets and SAT' section to smartctl.8 .
+ [SCSI] add 'number of background medium scans' field
+
+ [DG] SCSI (SAS): add '-l sasphy' and '-l sasphy,reset' into smartctl
+ to output SAS device phy information (from the Protocol specific
+ log page)
+
+ [CF] autogen.sh: Remove 'CYGWIN=check_case:strict', this does no
+ longer work on Cygwin 1.7. Print warning if Automake version
+ cannot handle case insensitive filesystems.
+
+ [CF] Remove '#define TRUE/FALSE', use 'bool' and 'true/false'.
+
+ [CF] Add 'options' parameter to SCSI printing routine. Move global
+ 'con->...' smartctl variables to 'options' parameters of
+ printing routines.
+
+ [CF] Windows: Remove outdated entry about undocumented system calls
+ from WARNINGS file.
+
+ [CF] Print General Purpose Logs even if GPL feature bit is missing.
+ Needed for some older disks which implement READ LOG EXT but
+ do not report the GPL feature set.
+ Change order of the extended log outputs ('-l xerror',
+ '-l xselftest', '-l sataphy'). Extended logs are now printed
+ before their old versions.
+
+ [CF] autogen.sh: automake 1.10.2 and 1.11 are OK.
+
+ [CF] Fix syntax error in prototype of 'safe_snprintf()'.
+ Thanks to Alexander Shaduri for bug report and patch.
+
+ [DG] SCSI: Fetch load-unload cycle counts.
+
+ [CF] Windows: Add Win-7 and Win2008 to get_os_version_str().
+
+ [CF] smartd: Fix '-M test' directive in conjunction with '-s' option.
+ Thanks to Matthias Becher for the problem report.
+
+ [MS] knowndrives.cpp updates:
+ - Add Seagate Barracuda 7200.12 series
+ - Add Seagate Momentus 5400.4 series
+ - Add Hitachi Deskstar 7K1000.B series
+ - Add Transcend SSD TS32GSSD25-M
+ - Add OCZ Vertex 1199
+
+ [CF] knowndrives.cpp updates:
+ Add Samsung S250 series.
+ Add '-v 198,increasing' to Samsung P80.
+ Replace '#if/#endif' by comment to fix configure option
+ '--enable-drivedb'.
+
+ [CF] knowndrives.cpp update:
+ Add Seagate 7200.11 with 'CC' firmware which is unaffected
+ by the bug. Thanks to Bas Mevissen for the patch.
+
+ [CF] Replace global 'con->...' variables used for drive presets
+ by local variables.
+
+ [CF] Simplify '-v' vendor attribute option parsing.
+ Add '-v 197,increasing' and '-v 198,increasing' options
+ to specifiy that an uncorrectable count is never reset.
+ This modifies the printed attribute names and smartd's
+ default setting of '-C' and '-U' directives.
+ Both '-v' options can also be preset in the drive database.
+
+ [CF] Add '+' modifier to smartd '-C' and '-U' directives.
+ If specified, a warning is only printed if the raw value
+ increases.
+
+ [CF] Add smartctl option '-l xselftest[,NUM]' to print
+ ATA SMART Extended Self-test Log (GP Log 0x07).
+
+ [CF] Add experimental option '-d usbsunplus' for drives behind
+ SunplusIT USB bridges. Tested on WinXP with SPIF215(?) in
+ TrekStor DataStation maxi m.u.. Many thanks to SunplusIT
+ tech support for providing the required information.
+
+ [CF] Windows: Provide a non-console version of smartctl.exe
+ as smartctl-nc.exe. This prevents that a new console is
+ opened when smartctl is run from a GUI program with
+ stdio redirected.
+ Used by GSmartControl (http://gsmartcontrol.berlios.de/).
+
+ [CF] Remove support for platforms without getopt_long() in
+ smartctl.cpp and smartd.cpp. If getopt_long() is missing,
+ ./configure aborts with an explanatory message.
+ For now, short option help texts are only removed from
+ os_linux.cpp and os_win32.cpp. HAVE_GETOPT_LONG is still
+ defined in config.h.
+
+ [CF] Add smartctl '-d test' option to print the result of the
+ device type detection.
+
+ [CF] Enhance USB device type autodetection, use bcdDevice if known.
+ Add Cypress CY7C68300B/C (AT2LP) to the table.
+
+ [CF] Linux: Add experimental USB device type autodetection.
+ Uses USB ID info found through symlink "/sys/block/sdX/device".
+
+ [CF] Windows: Add experimental USB device type autodetection.
+ Uses WMI command line tool 'wmic' to query USB ID.
+
+ [CF] Add function smart_interface::get_usb_dev_type_by_id() to map
+ USB vendor:product IDs to '-d type' names. Can be used by
+ platform dependent layer to autodetect USB devices if ID of
+ USB bridge is known.
+
+ [CF] smartd: Log changes of self-test execution status if
+ '-l selftest'is specified.
+
+ [CF] knowndrives.cpp update:
+ Samsung SpinPoint F1 RE series
+
+ [MS] knowndrives.cpp update:
+ Seagate Momentus 5400.6 series
+
+ [CF] Add forgotten SCSI sense checks to class usbjmicron_device.
+
+ [CF] Add new SMART STATUS check command for JMicron USB bridges.
+ Should support also older chip versions and prevents a race
+ condition.
+
+ [CF] Windows: Fix win_scsi_device::scsi_pass_through() for single byte
+ data transfers. Required for JMicron SMART STATUS check.
+
+ [MS] knowndrives.cpp update:
+ Add Hitachi Travelstar C4K60 family (1.8" slim drives)
+
+ [MS] Workaround for huge raw values of attribute 9, needed
+ for Hitachi Travelstar C4K60. For the Power_On_Minutes case,
+ clip the display to 4 bytes and show the remaining part,
+ if existent, in parens.
+
+ [CF] Add experimental option '-d usbjmicron[,PORT]' for drives
+ behind JMicron USB bridges. Tested on WinXP with JM20336 in
+ AixCase AIX-ESU35CD. Many thanks to JMicron tech support
+ for providing the required information.
+
+ [MS] knowndrives.cpp update:
+ Add WD Caviar Green 8MB and 32MB cache variants, stretch to 2TB.
+
+ [CF] knowndrives.cpp updates: Add more entries for Samsung P80 disks
+ with old and unknown firmware. Remove old entries which would
+ match any new Samsung model reusing old firmware version number.
+
+ [CF] Windows: Add a workaround for missing multi-sector support
+ for ATA READ LOG EXT command.
+
+ [CF] Fix Extended Comprehensive Error Log index base.
+ Add workaround for Samsung disks using reserved byte as index.
+
+ [CF] knowndrives.cpp updates: Update bug warnings for
+ Seagate 7200.11, ES.2 and DiamondMax 22. Add new entries
+ for fixed firmware versions.
+
+ [CF] Add smartctl option '-l xerror[,NUM]' to print
+ ATA SMART Extended Comprehensive Error Log (GP Log 0x03).
+
+ [MS] knowndrives.cpp update:
+ Added remaining WD Scorpio Blue SATA II drives
+
+ [CF] Minor fix to remove ID 0 from 'smartctl -l sataphy ...' output.
+
+ [CF] knowndrives.cpp updates: Add warnings about possible firmware
+ bugs to Seagate 7200.11, ES.2 and DiamondMax 22 entries.
+
+ [CF] knowndrives.cpp updates: Add Samsung SpinPoint F1 series.
+
+ [CF] Windows: Fix return value of scsi_pass_through(). Regression
+ was introduced during migration to new interface. SAT over USB
+ now works on XP (both '-d sat,12' and '-d sat,16').
+
+ [MS] knowndrives.cpp updates:
+ - Added Western Digital RE2-GP family
+ - Added Hitachi Travelstar E5K160 family
+ - Allow uppercase variants of Hitachi 5K160 drives
+
+ [CF] Fix smartctl crash on '-l directory,[gs]'. Allow to override
+ missing GPL feature bit or missing log dir entry with
+ '-T permissive' option.
+
+ [SZ] os_freebsd.cpp, os_freebsd.h updates:
+ Support HighPoint RocketRAID controller under FreeBSD
+
+ [MS] knowndrives.cpp updates:
+ - Added Western Digital RE3 32MB cache variants
+ - Added WD Caviar Green 32MB cache variant (WD10EADS)
+ - Added WD Scorpio Black family
+
+ [DG] Accept half healthy (and half unhealthy) indication from the
+ SMART RETURN STATUS. This makes allowance for SAT implementations
+ (e.g. via USB) that truncate the SCSI sense buffer to 18 bytes.
+ This truncation causes the SMART RETURN STATUS indication to be
+ half health or unhealthy. If the half indication is used, then
+ warn if '-r ioctl' is given.
+
+ [MS] knowndrives.cpp updates:
+ - Added Apple SSD
+ - Added Seagate U8 family
+
+ [DL] os_freebsd.cpp:
+ Added support for CHECK_POWER_MODE and WRITE_LOG commands
+
+ [MS] knowndrives.cpp update:
+ There seem to exist WD Raptors with SATA II interface, add them.
+
+ [MS] knowndrives.cpp updates:
+ - Added remaining Seagate Barracuda 7200.11 drives
+ - Added HP 1TB SATA disk
+
+ [MS] knowndrives.cpp updates:
+ - Added Maxtor 92040U6 (DiamondMax Plus 6800)
+ - Added Seagate Maxtor DiamondMax 21 500GB version
+ - Added QUANTUM FIREBALLlct15 22
+ - Added QUANTUM FIREBALL CR6.4A
+ - Added QUANTUM FIREBALLP LM20.4
+ - Added SUN branded Toshiba MK4019GAX
+ - Added TOSHIBA MK1016GAP and relatives: MK1[05]1[67]GAP
+ - Added Western Digital WD800AB and WD2500AB
+ - Some Hitachi 7K160 drives have garbage at end of name: permit it
+
+ [CF] Add smartd '-n powermode,N' directive parameter to limit the
+ number of skipped checks. Thanks to Michal Hlavinka for the patch.
+
+ [MS] knowndrives.cpp updates:
+ - Added Hitachi Endurastar J4K30/N4K30
+ - Added Hitachi Travelstar 4K120 series
+ - Some Hitachi 7K80 drives have garbage at end of name: permit it
+ - IBM Travelstar 6GN series
+
+ [MS] knowndrives.cpp updates:
+ - Added Quantum Fireball ST4300A
+ - Added Asus-Phison SSD (solid state disk)
+ - Added Seagate DB35.3 Series
+ - Added remaining disks of the Seagate SV35.2 Series
+
+ [MS] Fix trivial compile error with "-pedantic"
+
+ [MS] Workaround for huge raw values of Reallocated_Sector_Ct and
+ Reallocated_Event_Ct for newer Fujitsu disks (only the lower
+ 16 bits seem to be meaningful). Clip the display to 16 bits
+ and show the remaining part, if existent, in parens. Patch by [CF].
+
+ [CF] smartd DEVICESCAN: Fix autodetection of SAT devices.
+ Thanks to Stanislav Brabec for bug report and testing.
+
+ [MS] knowndrives.cpp update:
+ Convert file to full string regex: remove "^$" from pattern
+
+ [MS] knowndrives.cpp updates:
+ - Added Seagate Momentus 5400 PSD series (hybrid drives)
+ - Added Seagate Momentus 7200.3 series
+ - Added Hitachi Deskstar 7K250 (SUN branded)
+ - There are Hitachi Travelstar 5K250 drives with capital "HITACHI"
+ - Correct regex for Maxtor VL 30 drives
+
+ [CF] Add configure options '--enable-savestates' and
+ '--with-savestates=PREFIX' to enable smartd persistence
+ ('-s' option) by default.
+
+ [CF] smartd: Add '-s ([cnr]/../.././..)' directive to run scheduled
+ selective self-tests. Useful to perform full tests of large disks
+ not running 24x7.
+
+ [CF] Allow to read local drive database entries from optional file
+ '${sysconfdir}/smart_drivedb.h'.
+ Add configure options '--enable-drivedb' and '--with-drivedbdir=DIR'.
+ If specified, drive database is read from '${drivedbdir}/drivedb.h'.
+ (default '${prefix}/share/smartmontools/drivedb.h'). This file
+ is build from knowndrives.cpp.
+
+ [MS] knowndrives.cpp updates:
+ - Added 640GB variants of Western Digital AAKS and AACS drives
+ - Added Western Digital AV ATA family
+ - Added 160GB variant of Hitachi P7K500
+ - Added 500GB variant of Hitachi 7K1000
+ - Some cleanup for Quantum disks
+ - Added Seagate Maxtor DiamondMax 22 family
+
+ [CF] Use full string match for regexp in drive database.
+
+ [CF] Add option '-d sat+TYPE' to use SAT with controllers which
+ require option '-d TYPE'. Should work with '-d sat+megaraid,N'.
+ As a side effect, '-d usbcypress+TYPE' is also supported.
+
+ [CF] Add parser to read drive database from a file. Add '-B' option
+ to smartctl and smartd to specify database file name. File syntax
+ is identical to the C/C++ syntax used to inialize the internal
+ database array.
+
+ [CF] New syntax for drive database: Specify presets by strings
+ with '-v' and '-F' options. Use empty strings instead of NULL.
+
+ [JPH] Added Linux support for viewing disks behind MegaRAID
+ controllers
+
+ [CF] smartd: Improve min/max temperature recording in conjunction
+ with '-s' option.
+
+ [CF] Add a wrapper class for FILE *.
+
+ [CF] smartd: Add experimental support for state persistence (ATA only).
+ Add option '-s' to specify path prefix for state files.
+ Rework scheduled self-test detection to support persistence.
+ If any test schedules are within downtime, the highest priority
+ test is run after next startup.
+
+ [CF] Remove casts from 'format_ata_string()' calls.
+
+ [CF] Minor changes to fix errors and warnings from Cygwin gcc 4.3.0.
+
+ [CF] smartd: Remove SCSITIMEOUT code. According to smartd.h 1.54 CVS log
+ from 2003-10-27, it did never work.
+
+ [CF] Remove dependencies ataprint.cpp and scsiprint.cpp from smartd.
+ Move common ATA functions from ataprint.cpp to atacmds.cpp.
+ Module scsiprint.cpp was apparently never used in smartd.
+
+ [CF] Move smartd local declarations from smartd.h and utility.h to
+ smartd.cpp. Remove smartd.h.
+
+ [CF] Fixed extra '\n' in "Offline data collection status" output.
+ Thanks to Alexander Shaduri for the patch.
+
+ [CF] smartd: Separate device configuration data from device state data.
+ Use references instead of pointers for configuration and state data.
+
+ [CF] Add const-correctness and static to ATA support functions.
+
+ [CF] Add a wrapper class for regex.
+
+ [CF] Simplify 'create_vendor_attribute_arg_list()'.
+
+ [CF] smartd: Rework of main data structures. Remove explicit memory
+ allocations, use STL containers and structs with value semantics
+ instead. Remove old malloc/free based memory management helper
+ functions unless old interface is still in use.
+
+ [CF] Linux: Cleanup device scan, remove name list, create objects directly.
+
+ [CF] Linux: Cleanup smart_device::open(), type strings are no longer used.
+
+ [CF] Remove CONTROLLER_* defines and variables unless old interface
+ is still in use.
+
+ [CF] Linux: Migrate 3ware interface to 'ata_pass_through()'.
+ Multi-sector support is not complete yet. 48-bit commands
+ possibly work.
+ WARNING: Not tested, please review code before first test!
+
+ [CF] Linux: Migrate os_linux.cpp to new interface.
+
+ [CF] Add direct access to 16-bit registers in 'ata_in/out_regs_48bit'.
+
+ [CF] Add 'ata_cmd_is_ok()' parameter check,
+ remove 'ata_pass_through_28/48bit()' functions.
+
+ [CF] Add CVS date/time from cvsversion.h to man pages also.
+
+ [CF] Add configure option '--with-os-deps='os_module.o ...' to specify
+ alternate OS interface modules. Useful for testing during migration.
+
+ [CF] Remove declarations of 'optarg', 'optind', ..., include <unistd.h>
+ instead. This fixes 'auto-importing' linker warnings on Cygwin.
+
+ [CF] Add '-l sataphy[,reset]' to print SATA Phy Event Counters.
+
+ [CF] Add '-l gplog,ADDR[,FIRST[-LAST|+SIZE]]' and '-l smartlog,...'
+ to dump any log page accessible via GP or SMART read log commands.
+
+ [CF] Enhance '-l directory' to print both GP and SMART Log directories.
+ Add '-l directory[,gs]' modifiers to select GP or SMART log.
+ Enhance 'ata_cmd_in' parameter struct for 48-bit commands.
+
+ [CF] Windows: Add full ATA pass through support including 48-bit commands.
+
+ [CF] Windows: Migrate os_win32.cpp to new interface.
+
+ [CF] SAT: Add full ATA pass through support including 48-bit commands.
+
+ [MS] knowndrives.cpp update
+ - Added FUJITSU MHZ2250BS G2 and family
+
+ [MS] knowndrives.cpp updates
+ - Added Maxtor DiamondMax 60 94098H6
+ - Added Maxtor DiamondMax 1280 84000A6 and family
+ - Added Maxtor DiamondMax VL 30 31536H2 (ATA100) and family
+ - Some Seagate Barracuda 7200.9 have garbage at end of name: permit it
+ - Added Seagate Barracuda ATA ST320430A and family
+ - Regression from previous checkin: add WD RE2 WD...0ABYS again
+ - Added WD RE3 WD5002ABYS and family
+ - Added Quantum Fireball CR13.0A
+ - Added Hitachi Travelstar 5K250 HTS542525K9SA00 and family
+ - Added WD AC420400D and add whole range of AC.... which
+ have 5400rpm or higher (i.e. PIO-only drives omitted)
+
+ [MS] knowndrives.cpp updates
+ - WD: Separated entries for EIDE and SATA
+ - WD: Separated entries for Caviar SE, SE16, RE, RE2
+ - WD Named: WD Caviar AC series
+ - WD Renamed: WD Caviar RE/RE2 -> WD RE/RE2
+ - WD Renamed: WD Caviar SE/SE16 WD....AA[A-Z][A-Z] -> WD Caviar Blue
+ - WD Renamed: WD Scorpio WD....BEV[A-Z] -> WD Scorpio Blue
+ - Added WD Scorpio Blue WD3200BEVT
+ - Added WD RE2 WD5001ABYS and family
+ - Added WD Caviar Green WD5000AACS and family
+ - Added WD VelociRaptor WD3000GLFS and family
+ - Added Seagate Barracuda ES.2 ST31000340NS and family
+ - Added Samsung SP80A4H
+ - Added Maxtor DiamondMax 21 STM3160215AS and STM3320620AS
+ - Added Seagate Barracuda 7200.7 ST380819AS
+ - Added Maxtor DiamondMax 10 6B100P0
+ - Added Seagate SV35.2 Series
+ - Added Fujitsu MHY2120BH and family
+ - Added Fujitsu MHW2080BH PL (PL variant)
+ - Added Toshiba MK3252GSX and family
+
+ [BA] Fix smartctl bug: when running in silent mode '-q errorsonly'
+ do not print the Selective Self-test log. Any errors will
+ ALREADY appear in the SMART Self-test log.
+
+ [CF] Add missing 'const' and other minor fixes to prevent gcc warnings.
+
+ [OB] Added information message about supported Areca firmware versions.
+ It's displayed in case the ATA device identification fails.
+
+ [CF] Add configuration file for Doxygen.
+
+ [CF] Add new object oriented interface to access ATA and SCSI devices.
+ smartctl and smartd are modified to use the new classes in
+ 'dev_interface.{h,cpp}'. The template class in 'dev_tunnelled.h'
+ is used in 'scsiata.cpp'. The code in 'dev_ata_cmd_set.{h,cpp}'
+ supports migration from old function 'ata_command_interface()'.
+ All existing 'os_*.cpp' modules should still work without any changes.
+ The required adapter classes from 'dev_legacy.cpp' are automatically
+ added by configure if necessary.
+
+ [BA] Updated smartd and smartctl and smartd.conf man-page documentation
+ to reflect support for Areca SATA RAID controller cards.
+
+ [OB] Added support for Areca controllers to smartd. Extensive tests
+ as well as documentation are still pending however.
+
+ [OB] Implemented device locking for Areca controllers in smartctl
+
+ [BA] Fixed selective self-test code. Data structure revision number
+ may be != 1 if no selective self-test has ever been run. Host
+ MUST set this value (at least at the first selective self-test
+ instance). Thanks to Curtis Stevens of WDC for clarification.
+
+ [MC] usbcypress autodetection
+
+ [BA] Starting to commit Areca code. For now just smartctl.
+ More changes and documentation coming soon.
+ Need Areca firmware version 1.45 dated 10 June 2008 or later.
+ May need changes in opening /dev/sg and file locking.
+ Many thanks to Hank Wu!
+
+ [CF] smartd: Fix too small name buffer for 3ware with >100 devices.
+
+ [JH] now C++ Support for QNX Target
+ already tested for QNX 6.3.2 on x86 and armle target
+
+ [CF] Allow to set BUILD_INFO from make command line.
+
+ [CF] Windows: Add MSVC8 support, remove MSVC6 project files.
+
+ [MC] Add usbcypress device support for smartd.
+
+ [CF] Add output of latest CVS date/time stamp to version info.
+ New file cvsversion.h is generated by Makefile.
+ Move formatting of version info to utility.cpp.
+
+ [AR] Fix bug in 3ware node creation where nodes would be created
+ then deleted, then recreated.
+
+ [BA] Add missing CCISS cvs version tags to '-V' printouts.
+
+ [TS] Linux: Ensure the 3ware device nodes are created with a correct
+ SELinux security context.
+
+ [AR] Add support for up to 128 devices on 3ware controllers.
+
+ [CF] C++: Added new main() with exception handlers, replaced
+ exit(x) with throw(x), removed global variable 'exitstatus'.
+ Necessary for future changes, because exit() does not call
+ any destructors.
+
+ [SS] FreeBSD: plug file descriptor leak in smartd (only happens with
+ CISS devices). Reported by Vadim Ostranitsyn.
+
+ [SS] FreeBSD: allow smartctl to interact with SCSI /dev/pass devices,
+ thus enabling it to work with RAID controllers that expose disks
+ via these devices. From scottl@ via FreeBSD ports.
+
+ [MC] Add usbcypress device support for smartctl.
+
+ [KS] INSTALL on Solaris: updated description to use C++ compiler.
+
+ [KS] configure.in on Solaris: added options for Sun's compiler to
+ suppress trivial warnings.
+
+ [KS] configure.in on Solaris: added direction to search suitable
+ libraries for getaddrinfo().
+
+ [TS] smartd on Linux: remove forgotten return from deviceopen();
+ SCSI device descriptors had the FD_CLOEXEC flag unset.
+
+ [CF] Added 'const' to avoid warning on depreciated string constant
+ to 'char *' conversion.
+
+ [CF] autogen.sh: automake 1.10.1 is OK. Updated message texts.
+
+ [BA] removed smartmontools.spec file (now in CVS Attic). This
+ was not being used by RH or FC anyhow, and was out of
+ date and not maintained.
+
+ [BA] smartd on Linux: sets FD_CLOEXEC on the opened device file
+ descriptor. The descriptor is otherwise leaked to other
+ applications (mail sender) which may be considered a security
+ risk and may result in AVC messages on SELinux-enabled systems.
+ Thanks to: Tomá Smetana" <tsmetana@redhat.com>.
+
+ [BA] smartd: when sending email, to gather information about the
+ host for the body of the email, eliminate gethostbyname()
+ in favor of the IPv6-friendly function getaddrinfo() if the
+ latter is available. Info may be found here
+ http://udrepper.livejournal.com/16116.html
+ and here
+ http://people.redhat.com/drepper/userapi-ipv6.html
+ Thanks to: Tomá Smetana" <tsmetana@redhat.com>.
+
+ Smartmontools developers: please check that smartd still LINKS
+ properly on your systems.
+
+ [BA] Fix ugly syntax bug in os_freebsd.cpp. How did this go
+ undetected for so long??
SMARTMONTOOLS STABLE RELEASE 5.38 2008/03/10