[521] | 1 | Summary: smartmontools - for monitoring S.M.A.R.T. disks and devices |
---|
| 2 | Summary(ja): smartmontools - S.M.A.R.T.ディスクとデバイスの監視 |
---|
| 3 | Name: smartmontools |
---|
| 4 | Version: 5.38 |
---|
| 5 | Release: 2%{?_dist_release} |
---|
| 6 | License: GPL |
---|
| 7 | Group: Applications/System |
---|
| 8 | Source0: http://downloads.sourceforge.net/smartmontools/%{name}-%{version}.tar.gz |
---|
| 9 | Patch0: smartmontools-vinerelease.patch |
---|
| 10 | URL: http://smartmontools.sourceforge.net/ |
---|
| 11 | Prereq: /sbin/chkconfig |
---|
| 12 | BuildRoot: %{_tmppath}/%{name}-%{version}-root |
---|
| 13 | Obsoletes: smartctl |
---|
| 14 | Obsoletes: smartd |
---|
| 15 | Obsoletes: ucsc-smartsuite |
---|
| 16 | Obsoletes: smartsuite |
---|
| 17 | |
---|
| 18 | #Packager: Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 19 | # Copyright (C) 2002-4 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 20 | # Home page: http://smartmontools.sourceforge.net/ |
---|
| 21 | # |
---|
| 22 | # This program is free software; you can redistribute it and/or modify it |
---|
| 23 | # under the terms of the GNU General Public License as published by the Free |
---|
| 24 | # Software Foundation; either version 2, or (at your option) any later |
---|
| 25 | # version. |
---|
| 26 | # |
---|
| 27 | # You should have received a copy of the GNU General Public License (for |
---|
| 28 | # example COPYING); if not, write to the Free Software Foundation, Inc., 675 |
---|
| 29 | # Mass Ave, Cambridge, MA 02139, USA. |
---|
| 30 | # |
---|
| 31 | # This code was originally developed as a Senior Thesis by Michael Cornwell |
---|
| 32 | # at the Concurrent Systems Laboratory (now part of the Storage Systems |
---|
| 33 | # Research Center), Jack Baskin School of Engineering, University of |
---|
| 34 | # California, Santa Cruz. http://ssrc.soe.ucsc.edu/ |
---|
| 35 | |
---|
| 36 | %description |
---|
| 37 | smartmontools controls and monitors storage devices using the |
---|
| 38 | Self-Monitoring, Analysis and Reporting Technology System (S.M.A.R.T.) |
---|
| 39 | built into ATA and SCSI Hard Drives. This is used to check the |
---|
| 40 | reliability of the hard drive and to predict drive failures. The suite |
---|
| 41 | is derived from the smartsuite package, and contains two utilities. The |
---|
| 42 | first, smartctl, is a command line utility designed to perform simple |
---|
| 43 | S.M.A.R.T. tasks. The second, smartd, is a daemon that periodically |
---|
| 44 | monitors smart status and reports errors to syslog. The package is |
---|
| 45 | compatible with the ATA/ATAPI-5 specification. Future releases will be |
---|
| 46 | compatible with the ATA/ATAPI-6 andATA/ATAPI-7 specifications. The |
---|
| 47 | package is intended to incorporate as much "vendor specific" and |
---|
| 48 | "reserved" information as possible about disk drives. man smartctl and |
---|
| 49 | man smartd will provide more information. The most recent versions of |
---|
| 50 | this package and additional information can be found at the URL: |
---|
| 51 | http://smartmontools.sourceforge.net/ |
---|
| 52 | |
---|
| 53 | %description -l ja |
---|
| 54 | smartmontoolsはATAおよびSCSIハードドライブに組み込まれたSelf-Monitoring, |
---|
| 55 | Analysis and Reporting Technology (S.M.A.R.T.)システムを用いてストレージ |
---|
| 56 | デバイスを制御・監視するツールです。ハードドライブの信頼性を点検し、ドラ |
---|
| 57 | イブの故障を予測するために用いられます。smartmontoolsはsmartsuiteパッケ |
---|
| 58 | ージから派生したもので、2つのユーティリティからなります。1つ目、smartctl |
---|
| 59 | はS.M.A.R.T.タスクを処理するために設計されたコマンドラインユーティリティ |
---|
| 60 | です。2つ目のsmartdは周期的にS.M.A.R.T.状態を監視し、システムログにエラ |
---|
| 61 | ーを出力するデーモンです。このパッケージはATA/ATAPI-5仕様に準拠していま |
---|
| 62 | す。将来のリリースではATA/ATAPI-6およびATA/ATAPI-7仕様にも準拠する予定 |
---|
| 63 | です。このパッケージはディスクドライブに関するベンダ特有および予約された |
---|
| 64 | 情報も可能な限り取り扱えることを重視しています。より詳しい情報はman |
---|
| 65 | smartctlおよびman smartdで得られます。最新のバージョン及び追加情報につい |
---|
| 66 | ての情報は次のURLにあります:http://smartmontools.sourceforge.net/ |
---|
| 67 | |
---|
| 68 | %prep |
---|
| 69 | %setup -q |
---|
| 70 | %patch0 -p1 |
---|
| 71 | |
---|
| 72 | %build |
---|
| 73 | %configure |
---|
| 74 | make |
---|
| 75 | |
---|
| 76 | %install |
---|
| 77 | rm -rf $RPM_BUILD_ROOT |
---|
| 78 | rm -rf %{_buildroot} |
---|
| 79 | %makeinstall |
---|
| 80 | rm -f examplescripts/Makefile* |
---|
| 81 | |
---|
| 82 | %clean |
---|
| 83 | rm -rf $RPM_BUILD_ROOT |
---|
| 84 | |
---|
| 85 | %pre |
---|
| 86 | if [ ! -f /etc/smartd.conf ]; then |
---|
| 87 | echo "Note that you can use a configuration file /etc/smartd.conf to control the" |
---|
| 88 | echo "startup behavior of the smartd daemon. See man 8 smartd for details." |
---|
| 89 | fi |
---|
| 90 | |
---|
| 91 | # Now see if we should tell user to set service to start on boot |
---|
| 92 | /sbin/chkconfig --list smartd > /dev/null 2> /dev/null |
---|
| 93 | printmessage=$? |
---|
| 94 | |
---|
| 95 | if [ $printmessage -ne 0 ] ; then |
---|
| 96 | echo "Run \"/sbin/chkconfig --add smartd\", to start smartd service on system boot" |
---|
| 97 | else |
---|
| 98 | echo "smartd will continue to start up on system boot" |
---|
| 99 | fi |
---|
| 100 | |
---|
| 101 | %post |
---|
| 102 | # if smartd is already running, restart it with the new daemon |
---|
| 103 | if [ -f /var/lock/subsys/smartd ]; then |
---|
| 104 | /etc/rc.d/init.d/smartd restart 1>&2 |
---|
| 105 | echo "Restarted smartd services" |
---|
| 106 | else |
---|
| 107 | # else tell the user how to start it |
---|
| 108 | echo "Run \"/etc/rc.d/init.d/smartd start\" to start smartd service now." |
---|
| 109 | fi |
---|
| 110 | |
---|
| 111 | %preun |
---|
| 112 | # if uninstalling the final copy, stop and remove any links |
---|
| 113 | if [ "$1" = "0" ]; then |
---|
| 114 | if [ -f /var/lock/subsys/smartd ]; then |
---|
| 115 | /etc/rc.d/init.d/smartd stop 1>&2 |
---|
| 116 | echo "Stopping smartd services" |
---|
| 117 | fi |
---|
| 118 | |
---|
| 119 | # see if any links remain, and kill them if they do |
---|
| 120 | /sbin/chkconfig --list smartd > /dev/null 2> /dev/null |
---|
| 121 | notlinked=$? |
---|
| 122 | |
---|
| 123 | if [ $notlinked -eq 0 ]; then |
---|
| 124 | /sbin/chkconfig --del smartd |
---|
| 125 | echo "Removing chkconfig links to smartd boot-time startup scripts" |
---|
| 126 | fi |
---|
| 127 | fi |
---|
| 128 | |
---|
| 129 | %files |
---|
| 130 | %defattr(-,root,root) |
---|
| 131 | %attr(755,root,root) %{_sbindir}/smartd |
---|
| 132 | %attr(755,root,root) %{_sbindir}/smartctl |
---|
| 133 | %attr(755,root,root) /etc/rc.d/init.d/smartd |
---|
| 134 | %attr(644,root,root) %{_mandir}/man8/smartctl.8* |
---|
| 135 | %attr(644,root,root) %{_mandir}/man8/smartd.8* |
---|
| 136 | %attr(644,root,root) %{_mandir}/man5/smartd.conf.5* |
---|
| 137 | %doc AUTHORS CHANGELOG COPYING INSTALL NEWS README TODO WARNINGS smartd.conf examplescripts |
---|
| 138 | %config %{_sysconfdir}/smartd.conf |
---|
| 139 | |
---|
| 140 | # Maintainers / Developers Key: |
---|
| 141 | # [BA] Bruce Allen |
---|
| 142 | # [EB] Erik Inge Bols# [SB] Stanislav Brabec |
---|
| 143 | # [PC] Peter Cassidy |
---|
| 144 | # [CD] Capser Dik |
---|
| 145 | # [CF] Christian Franke |
---|
| 146 | # [GF] Guilhem Fr騷ou |
---|
| 147 | # [DG] Douglas Gilbert |
---|
| 148 | # [GG] Guido Guenther |
---|
| 149 | # [DK] David Kirkby |
---|
| 150 | # [KM] Kai M臾isarai |
---|
| 151 | # [EM] Eduard Martinescu |
---|
| 152 | # [FM] Fr馘駻ic L. W. Meunier |
---|
| 153 | # [KS] Keiji Sawada |
---|
| 154 | # [SS] Sergey Svishchev |
---|
| 155 | # [PW] Phil Williams |
---|
| 156 | |
---|
| 157 | %changelog |
---|
| 158 | * Tue Aug 4 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 5.38-2 |
---|
| 159 | - spec in UTF-8 |
---|
| 160 | |
---|
| 161 | * Sun Apr 27 2008 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 5.38-1vl5 |
---|
| 162 | - upstream release |
---|
| 163 | |
---|
| 164 | * Wed Jan 02 2008 Shu KONNO <owa@bg.wakwak.com> 5.37-0vl2 |
---|
| 165 | - rebuilt for VineSeed |
---|
| 166 | |
---|
| 167 | * Tue May 29 2007 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 5.37-0vl1 |
---|
| 168 | - upstream release |
---|
| 169 | |
---|
| 170 | * Thu Jun 1 2006 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 5.36-1vl2 |
---|
| 171 | - upstream release |
---|
| 172 | - update Patch0 |
---|
| 173 | - delete noreplace attribute from %%config |
---|
| 174 | |
---|
| 175 | * Sun Nov 28 2004 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 5.33-1vl2 |
---|
| 176 | - add Patch0: smartmontools-vinerelease.patch |
---|
| 177 | check /etc/vine-release in /etc/rc.d/init.d/smartd |
---|
| 178 | |
---|
| 179 | * Fri Oct 15 2004 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 5.33-1vl1 |
---|
| 180 | - rebuild for VineSeed |
---|
| 181 | - remove warnings about man page on %pre script |
---|
| 182 | - remove distribution-specific macros and scripts |
---|
| 183 | - remove unnecessary %clean script |
---|
| 184 | - remove date macro |
---|
| 185 | - moved install-time "chkconfig --list" from %post to %pre |
---|
| 186 | - add Summary(ja) and description -l ja |
---|
| 187 | - remove Summary and description other than English and Japanese |
---|
| 188 | |
---|
| 189 | * Fri Sep 10 2004 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 190 | [BA] smartctl: ATA disks, if SMART ATTRIBUTE THRESHOLDS page has ID |
---|
| 191 | errors with some Attributes having NULL IDs, print Attribute |
---|
| 192 | info anyway (but issuing a warning to the user). |
---|
| 193 | [DG] [SCSI] Decode Last n error events log page; decode track following |
---|
| 194 | and positioning errors [Hitachi] |
---|
| 195 | [EM] FreeBSD: another tweak, __packed__ introduced in Version 5.0040 |
---|
| 196 | [EM] Cleaner tweak of fixes for FreeBSD 4.x. |
---|
| 197 | [EM] Fix compilation errors under FreeBSD 4.x, as it is still using |
---|
| 198 | and old GCC |
---|
| 199 | [EM] Remove 3ware/FreeBSD specific files and just include pieces we need |
---|
| 200 | [DG] Add logic in smartd to detect 3ware, Marvell controllers and SATA |
---|
| 201 | disks behind an ATA-SCSI simulator (in Linux). If specific device |
---|
| 202 | types are not given and they are picked in a general SCSI device |
---|
| 203 | scan then warn and skip. |
---|
| 204 | [GG] insert correct path to smartd into smartd's init script |
---|
| 205 | [BA] Changed all default paths in documentation to reflect /usr/local as |
---|
| 206 | default path prefix. This affects on-line man pages, primarily. |
---|
| 207 | [DS] Added support for OpenBSD. |
---|
| 208 | [BA] Added another environment variable SMART_FULLMESSAGE set by |
---|
| 209 | the smartd mailing feature, and modified examplescripts/Example1 |
---|
| 210 | to illustrate it. |
---|
| 211 | [BA] Fixed potentially misleading messages of the form: |
---|
| 212 | XXX failed: success |
---|
| 213 | [DG] emit warning if SATA disk detected using libata in Linux; then exit |
---|
| 214 | [PW] Added Seagate U10 family, Hitachi Travelstar 7K60, Fujitsu MHR2020AT, |
---|
| 215 | and QUANTUM FIREBALLP AS20.5 to knowndrives table. |
---|
| 216 | [DG] Detect 3ware and Marvell controllers from SCSI INQUIRY vendor string |
---|
| 217 | and suggest usage of appropriate '-d' argument in smartctl. |
---|
| 218 | [LW] Tested the RELEASE_5_33_WITH_MARVELL_SUPPORT branch on |
---|
| 219 | actual Marvell 88SX5041 hardware, with success. |
---|
| 220 | Merged into HEAD. |
---|
| 221 | [BA] Fixed nasty DEVICESCAN bug |
---|
| 222 | [BA] Checked in RELEASE_5_33_WITH_MARVELL_SUPPORT branch with |
---|
| 223 | some Marvell support. |
---|
| 224 | [BA] Additional modifications of Ed's controller scheme. Fixed |
---|
| 225 | broken 3ware support under linux, problems with scanning |
---|
| 226 | devices in smartd, and other small problems. |
---|
| 227 | [EM] Minor change to FreeBSD inclusion of 'twe' include files. Add |
---|
| 228 | code to check if they exising in /usr/include/sys to use those |
---|
| 229 | in preference to ones added here |
---|
| 230 | [EM] Very preliminary support attempt for 3Ware controllers under |
---|
| 231 | FreeBSD. Also, switched 'escalade_type/escalade_port' to |
---|
| 232 | 'controler_type/controller_port' and moved away from |
---|
| 233 | 'tryata/tryscsi' to using new 'controller*' variables to |
---|
| 234 | determine which controller type (ATA/SCSI/3Ware) to use. |
---|
| 235 | [GK] Added initscript support for Darwin. |
---|
| 236 | [CF] Windows smartd: Added ability to run smartd as a windows service, |
---|
| 237 | including new commands "smartd install ..." and "smartd remove" |
---|
| 238 | to install and remove the service registry entry. |
---|
| 239 | [BA] smartd: warn user if -s regexp regular expression contains |
---|
| 240 | characters other than 0123456789.*()|+?[-]{}:=SLCO since such |
---|
| 241 | characters are 'suspicous' and may indicate a poorly formed |
---|
| 242 | regexp. Extended regular expression gurus: can this list be |
---|
| 243 | reduced somewhat? |
---|
| 244 | [CF] Fixed bug in Windows smartd: Missing close of config file when |
---|
| 245 | configuration is reloaded by smartd daemon. |
---|
| 246 | [CF] Windows smartd: Added mail warning feature using the "Blat" |
---|
| 247 | (http://blat.sourceforge.net/) mailer as a default. |
---|
| 248 | [PW] Added Maxtor DiamondMax Plus 5120 Ultra ATA 33 series and TOSHIBA |
---|
| 249 | MK3017GAP to knowndrives table. |
---|
| 250 | [CF] Added fixes to build smartmontools on old Linux systems |
---|
| 251 | (libc < 6, Kernel 2.0.x). |
---|
| 252 | [BA] Added ATA minor version identity strings for latest ATA specification |
---|
| 253 | updates: ATA/ATAPI-7 T13 1532D revision 4a and ATA/ATAPI-6 published, |
---|
| 254 | ANSI INCITS 361-2002 |
---|
| 255 | [PW] Added Hitachi Travelstar 5K80 family and Fujitsu MHTxxxxAH family to |
---|
| 256 | knowndrives table. |
---|
| 257 | [EM] Fix up compilation under FreeBSD < 5.x |
---|
| 258 | [PW] Added QUANTUM FIREBALL EX3.2A and missing Western Digital Caviar SE |
---|
| 259 | drives to knowndrives table. |
---|
| 260 | [BA] Modified Hitachi Travelstar 80GN family regexp in drive database. |
---|
| 261 | Thanks to [GK/CF] for problem & solution. |
---|
| 262 | [GK] Added os_darwin.[ch] |
---|
| 263 | [PW] Added the following drives to the knowndrives table: IBM Travelstar |
---|
| 264 | 48GH, 30GN, and 15GN family; IBM Deskstar 37GP and 34GXP family; |
---|
| 265 | Western Digital WDC WD272AA; Maxtor DiamondMax D540X-4D family; |
---|
| 266 | TOSHIBA MK2016GAP, MK2018GAP, MK2018GAS, MK2023GAS; and |
---|
| 267 | QUANTUM FIREBALL ST3.2A |
---|
| 268 | [BA] smartd/smarctl now print build HOST/OS information as part |
---|
| 269 | of startup slogan. This should make it slightly easier to |
---|
| 270 | read bug reports from users. |
---|
| 271 | [RZ] Fixed the DEVICESCAN to do what it was supposed to do - give |
---|
| 272 | error message unless scanning is in progress. |
---|
| 273 | [BA] Update documentation to describe 3ware character devices. Better |
---|
| 274 | error detection for missing/malfunctioning devices behind 3ware |
---|
| 275 | controllers. Now pack 3ware ioctl structures explicitly. |
---|
| 276 | [BA] For ATA devices that support LBA mode, print capacity as part |
---|
| 277 | of smartctl --info |
---|
| 278 | [RZ] Made DEVICESCAN quiet about non-existing devices unless debug |
---|
| 279 | is on. |
---|
| 280 | [DG] treat "unit attention" SCSI warning as try again in some contexts |
---|
| 281 | (test unit ready and mode sense) |
---|
| 282 | [BA] on drives that store max/min rather than min/max, get order |
---|
| 283 | correct in printing temp. |
---|
| 284 | [BA] fixed typo in 'smartctl -h' output. Thanks to Gabor Z. Papp. |
---|
| 285 | [BA] linux: clean-up to 3ware/AMCC support; dynamically create |
---|
| 286 | or fix /dev/tw[ae][0-15] device node entries if they don't |
---|
| 287 | exist or are incorrect. One can now use the character devices |
---|
| 288 | /dev/twe[0-15] OR /dev/sd? for 3ware 6000/7000/8000 series |
---|
| 289 | cards. One must use /dev/twa[0-15] for 3ware 9000 series cards. |
---|
| 290 | Note that selective self-tests now work via /dev/tw[ae] devices. |
---|
| 291 | Next step: documentation. |
---|
| 292 | [BA] linux: experimental "support" for 3ware/AMCC 9000 series |
---|
| 293 | controllers that use the 3w-9xxx driver. This will be in a |
---|
| 294 | state of flux for a few days. Note that this requires the |
---|
| 295 | character interface /dev/twa[0-15]. |
---|
| 296 | [DG] linux: extend general SCSI OS interface to use the SG_IO ioctl. If |
---|
| 297 | not available, use the older SCSI_IOCTL_SEND_COMMAND ioctl. |
---|
| 298 | [KS] Solaris/x86: fixed system identification problem in configure |
---|
| 299 | script. Thanks to Stuart Swales. |
---|
| 300 | |
---|
| 301 | * Mon Jul 5 2004 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 302 | [BA] Update link to revised/updated IBM Deskstar Firmware |
---|
| 303 | [CF] Cygwin & Windows: Added missing ASPI manager initialization |
---|
| 304 | with GetASPI32SupportInfo(). Thanks to Nikolai SAOUKH for pointing |
---|
| 305 | this out and providing a patch. |
---|
| 306 | [BA] modified smartd init script to work on whitebox (thanks to |
---|
| 307 | Michael Falzon) |
---|
| 308 | [BA] removed (reverted) additional Attribute definitions from |
---|
| 309 | http://smart.friko.pl/attributes.php. All (or most?) of these |
---|
| 310 | appear to be return code values for the WD Digital Life Guard Utility. |
---|
| 311 | [PW] Added Seagate Medalist 17242, 13032, 10232, 8422, and 4312 to |
---|
| 312 | knowndrives table. Added missing Seagate U Series 5 drives. |
---|
| 313 | [PW] Added the following QUANTUM models to knowndrives table: |
---|
| 314 | FIREBALL EX6.4A, FIREBALLP AS10.2, FIREBALLP AS40.0, FIREBALL CR4.3A, |
---|
| 315 | FIREBALLP LM15, FIREBALLP LM30, and FIREBALLlct20 30 |
---|
| 316 | [PW] Added missing Western Digital Protege drives to knowndrives table. |
---|
| 317 | [PW] Added Maxtor DiamondMax 40 ATA 66 series and DiamondMax 40 VL Ultra |
---|
| 318 | ATA 100 series to knowndrives table. |
---|
| 319 | [PW] Added the following Hitachi/IBM drives to knowndrives table: |
---|
| 320 | HITACHI_DK14FA-20B, Travelstar 40GNX series, Travelstar 4LP series, |
---|
| 321 | and Travelstar DK23XXB series. Added the missing Travelstar 80GN |
---|
| 322 | drives. |
---|
| 323 | [PW] Added Fujitsu MPB series and MPG series to knowndrives table. Added |
---|
| 324 | the missing Fujitsu MHSxxxxAT drives. |
---|
| 325 | [KS] Solaris: added workaround for dynamic change of time-zone. |
---|
| 326 | [KS] Solaris: fixed problem that autogen.sh cannot detect absence of |
---|
| 327 | auto* tools. |
---|
| 328 | [BA] smartd: added time-zone bug information to man page. |
---|
| 329 | Reverted CF code for _WIN32 case. |
---|
| 330 | [CF] Cygwin & Windows: Added better error messages on IDE/ATA device |
---|
| 331 | open error. |
---|
| 332 | [BA] added additional Attribute definitions from |
---|
| 333 | http://smart.friko.pl/attributes.php |
---|
| 334 | [BA] smartd: reworked TimeZone bug workaround so it is only invoked |
---|
| 335 | for glibc. Note: this might not be right -- a similar bug may |
---|
| 336 | exist in other platform's libcs. |
---|
| 337 | [DG] SCSI smartmontools documentation updated [2004/5/6]. See: |
---|
| 338 | http://smartmontools.sourceforge.net/smartmontools_scsi.html |
---|
| 339 | [CF] Windows: Fixed reset of TZ=GMT in glibc timezone bug workaround. |
---|
| 340 | |
---|
| 341 | * Tue May 4 2004 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 342 | [DG] move SCSI device temperature and start-stop log page output |
---|
| 343 | (smartctl) into --attributes section (was in --info section). |
---|
| 344 | [GG] change default installation location to /usr/local |
---|
| 345 | [CF] Cygwin smartd: Fixed crash on access of SCSI devices after fork(). |
---|
| 346 | [PW] Added TOSHIBA MK4018GAS and the following Maxtor drive families |
---|
| 347 | to knowndrives table: DiamondMax D540X-4G, Fireball 541DX, |
---|
| 348 | DiamondMax 3400 Ultra ATA, DiamondMax Plus 6800 Ultra ATA 66. |
---|
| 349 | [PW] Added missing Maxtor DiamondMax 16, DiamondMax D540X-4K, and |
---|
| 350 | DiamondMax Plus 45 Ulta ATA 100 drives to knowndrives table. |
---|
| 351 | [PW] Added ExcelStor J240, Hitachi Travelstar 80GN family, Fujitsu |
---|
| 352 | MHTxxxxAT family, and IBM Deskstar 25GP and 22GXP families to |
---|
| 353 | knowndrives table. |
---|
| 354 | [CF] Cygwin smartd: Added workaround for missing SIGQUIT via keyboard: |
---|
| 355 | To exit smartd in debug mode, type CONTROL-C twice. |
---|
| 356 | [BA] smartctl: printing of the selective self-test log is now |
---|
| 357 | controlled by a new option: -l selective |
---|
| 358 | [BA] Added entries for Samsung firmware versions -25 to -39 based |
---|
| 359 | on latest info about firmware bug fixes. |
---|
| 360 | [PW] Added Seagate U Series X family, Seagate U8 family, and Seagate |
---|
| 361 | Medalist 8641 family to knowndrives table. |
---|
| 362 | [CF] smartd: Added exit values 5/6 for missing/unreadable config file. |
---|
| 363 | [BA] smartd: now monitor the Current Pending Sector count (Attribute 197) |
---|
| 364 | and the Offline Pending Sector Count (Attribute 198). Log a |
---|
| 365 | warning (and send an email, if so configured) if the raw count |
---|
| 366 | is nonzero. These are controlled by new Directives: -C and -U. |
---|
| 367 | Currently they are enabled by default. |
---|
| 368 | [CF] Added option -c FILE, --configfile=FILE to smartd to specify |
---|
| 369 | an alternate configuration FILE or '-' for standard input. |
---|
| 370 | [KS] configure.in now searches for -lnsl and -lsocket for Solaris. |
---|
| 371 | [CF] Win32/native smartd: Added thread to combine several syslog output |
---|
| 372 | lines into one single event log entry. |
---|
| 373 | [CF] Win32 smartd: Added DEVICESCAN for SCSI/ASPI devices. |
---|
| 374 | [GG] Use gethostbyname() the get the DNS domain since getdomainname() |
---|
| 375 | returns the NIS domain when sending mails from smartd. |
---|
| 376 | [GG] smartd.init.in: pass smartd_opts to smartd on startup, read distribution |
---|
| 377 | specific configuration files if found |
---|
| 378 | [SS] smartctl: added NetBSD support for Selective Self-tests. |
---|
| 379 | [BA] smartd.conf example configuration file now has all examples |
---|
| 380 | commented out except for 'DEVICESCAN'. |
---|
| 381 | [CF] Win32/native smartd: Added ability to display warning "emails" |
---|
| 382 | as message box by "-m msgbox" directive. With "-m sysmsgbox", |
---|
| 383 | a system modal (always on top) message box is shown. |
---|
| 384 | [BA] smartctl: printing of self-test log for disks that support |
---|
| 385 | Selective self-testing now shows the status of the (optional) |
---|
| 386 | read-scan after the selective self test. Also, changed format |
---|
| 387 | in printing self-test log to print failing LBA in base 10 not |
---|
| 388 | base 16 (more compatible with kernel error messages). Also, |
---|
| 389 | in printing SMART error log, print timestamps in format |
---|
| 390 | days+hours+minutes+seconds. |
---|
| 391 | [CF] Win32 smartd: Added ability to log to stdout/stderr |
---|
| 392 | (-l local1/2). Toggling debug console still works |
---|
| 393 | if stdout is redirected. |
---|
| 394 | [BA] smartctl: selective self-test log, print current status |
---|
| 395 | in a more detailed way. Allow writing of selective self-test |
---|
| 396 | log provided that no other self-test is underway. |
---|
| 397 | [BA] Linux: eliminated dependency on kernel tree hdreg.h. |
---|
| 398 | [BA] smartctl: -l selftest option now prints Selective self-test |
---|
| 399 | log in addition to the normal self-test log. |
---|
| 400 | Added additional options (-t pending, -t afterselect) to |
---|
| 401 | control remaining Selective Self-test capabilities. Tested |
---|
| 402 | with several Maxtor disks. Modified error message printing |
---|
| 403 | so that munged option messages print at the end not the |
---|
| 404 | start of output. |
---|
| 405 | [CF] Added daemon support to Win32 native version of smartd. |
---|
| 406 | The daemon can be controlled by commands similar to initd |
---|
| 407 | scripts: "smartd status|stop|reload|restart|sigusr1|sigusr2". |
---|
| 408 | [CF] Added minor support for option "-l local[0-7]" to Win32 native |
---|
| 409 | (not Cygwin) version of smartd. If specified, the log output |
---|
| 410 | is written to file "./smartd[1-7]?.log" instead of event log. |
---|
| 411 | [BA] Added Selective Self-test to smartctl (-t selective,M-N). |
---|
| 412 | Currently only supported under Linux; Solaris, NetBSD, FreeBSD |
---|
| 413 | and Windows developers must add WRITE LOG functionality to |
---|
| 414 | os_*.c |
---|
| 415 | [BA] Added workaround for an annoying glibc bug: if you change |
---|
| 416 | timezones, (eg, flying with a laptop from USA to Europe) |
---|
| 417 | localtime() does not notice this in a running |
---|
| 418 | executable, so time that appears in the system log (syslog!) |
---|
| 419 | will be incorrect. See |
---|
| 420 | http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=48184 |
---|
| 421 | for additional examples of this bug. |
---|
| 422 | [DG] Set explicit timeouts for SCSI commands (most default to 6 seconds). |
---|
| 423 | Previously a 0 second timeout was meant to be interpreted as a |
---|
| 424 | default timeout but the FreeBSD port had a problem in this area. |
---|
| 425 | [CF] Fixed un-thread-safe exit signal handler for Win32 |
---|
| 426 | [BA] Fixed un-thread-safe exit signal handler pointed out |
---|
| 427 | by CF. |
---|
| 428 | [BA] Changed configure script to eliminate warnings under |
---|
| 429 | Solaris from sys/int_type.h conflicts with int64.h |
---|
| 430 | Added header files for umask to smartd.c. |
---|
| 431 | [BA] Man page format change from Werner LEMBERG. " " changed to \& |
---|
| 432 | [CF] Added os_win32/syslogevt.* event message file tool for Win32 |
---|
| 433 | smartd (native+cygwin). May also be useful for other cygwin |
---|
| 434 | programs writing to syslog(). |
---|
| 435 | [CF] Added Win32 version of smartd |
---|
| 436 | [CF] Merged RELEASE_5_26_WIN32_BRANCH |
---|
| 437 | [BA] Made some changes to man page markup suggested by |
---|
| 438 | Richard Verhoeven to work around bugs in man2html. |
---|
| 439 | Tested not to break anything under Linux and Solaris. |
---|
| 440 | [CF] Moved PrintOut() from utility.c to smart{ctl,d}.c to avoid |
---|
| 441 | syslog() output of smartctl. |
---|
| 442 | [BA] Grew worried that some time-zone names could be very long (eg, |
---|
| 443 | Mitteleuropaische Zeit) and put date string lengths into a |
---|
| 444 | single macro in utility.c |
---|
| 445 | [EM] Updated os_freebsd.c to handle older versions of FreeBSD in a |
---|
| 446 | more appropriate/obvious fashion. |
---|
| 447 | [EM] Modified autogen.sh as FreeBSD installs automake 1.7 as |
---|
| 448 | 'automake17' and NOT 'automake-1.7' |
---|
| 449 | |
---|
| 450 | * Sat Mar 6 2004 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 451 | [PW] Added QUANTUM FIREBALLlct15 30, QUANTUM FIREBALLlct20 40, and |
---|
| 452 | Maxtor 6Y060P0 (DiamondMax Plus 9 60GB) to knowndrives table. |
---|
| 453 | [PW] Added Maxtor MaXLine II family to knowndrives table (thanks to |
---|
| 454 | Brett Russ for submitting the patch). |
---|
| 455 | [BA] Added remaining read/write commands to detailed list of |
---|
| 456 | error log commands that have text descriptions of problem |
---|
| 457 | printed. For commands that support it, print number of failed |
---|
| 458 | sectors at problem LBA. |
---|
| 459 | [BA] Made SuSE section of smartd init script more SuSE 9 compatible. |
---|
| 460 | Thanks to Hans-Peter Jansen. |
---|
| 461 | [CF] Windows smartd: Added IDE/ATA device scan |
---|
| 462 | Added windows device names to smartctl.8.in, smartd.8.in |
---|
| 463 | [BA] smartctl/smartd: user-provided '-F samsung' and '-F samsung2' |
---|
| 464 | command line options/Directives did NOT over-ride preset values |
---|
| 465 | unless user specified '-P ignore'. Now they will always over-ride |
---|
| 466 | preset values from the database. |
---|
| 467 | [BA] Added error decoding for a few more READ and WRITE commands. |
---|
| 468 | [PW] Added Maxtor MaXLine Plus II, Western Digital Caviar SE (Serial ATA) |
---|
| 469 | series, Hitachi Deskstar 7K250 series, and Ultra ATA 66 models of |
---|
| 470 | the Maxtor DiamondMax Plus 40 series to knowndrives table. |
---|
| 471 | [BA] Added Maxtor Diamondmax 250 GB drives to database. Note that |
---|
| 472 | these model numbers are not listed in Maxtor documentation, but |
---|
| 473 | they exist. |
---|
| 474 | [BA] Removed the 'contact developers' phrase from the Samsung disk |
---|
| 475 | warning messages. |
---|
| 476 | [PW] Added TOSHIBA MK2017GAP, IBM Deskstar 14GXP and 16GP series, |
---|
| 477 | Fujitsu MPC series, Seagate Barracuda ATA III family, and missing |
---|
| 478 | Seagate Barracuda U Series drives to knowndrives table |
---|
| 479 | [BA] smartd: wrong loglevel for message: Configuration file |
---|
| 480 | /etc/smartd.conf parsed. Changed to LOG_INFO from LOG_CRIT. |
---|
| 481 | Thanks to Emmanuel CHANTREAU for the report. |
---|
| 482 | [CF] Checked in development version of windows code base. |
---|
| 483 | |
---|
| 484 | * Tue Feb 24 2004 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 485 | [BA] smartd: configure script did not set correct directory to search for |
---|
| 486 | smartd.conf based on --prefix argument to ./configure. Thanks to |
---|
| 487 | GG for identifying the problem and fix. |
---|
| 488 | [BA] make clean now removes man pages (generated from *.in) files as well |
---|
| 489 | as object files. |
---|
| 490 | [EM] Correct copying of sense data in FreeBSD SCSI implementation. Thanks |
---|
| 491 | to Sergey Svishchev for noticing the bug. |
---|
| 492 | [BA] On solaris, wrong warning message if no ATA support. Warning message |
---|
| 493 | concerns 3ware controller, not ATA. |
---|
| 494 | [SS] Added SCSI support for NetBSD. |
---|
| 495 | [BA] on big-endian linux machines, fixed interpretation of HDIO_GET_IDENTITY |
---|
| 496 | to correctly identify ATAPI bit (was byte swapped). This should |
---|
| 497 | eliminate some SYSLOG noise if user queries a packet device (eg, CD |
---|
| 498 | ROM or DVD reader). |
---|
| 499 | [PW] Removed warning for IBM Deskstar 40GV & 75GXP series drives with |
---|
| 500 | A5AA/A6AA firmware. Thanks to Gerald Schnabel. |
---|
| 501 | [PW] Added Toshiba TOS MK3019GAXB SUN30G to knowndrives table |
---|
| 502 | [PW] Added Western Digital Caviar AC12500, AC24300, AC25100, AC36400, |
---|
| 503 | and AC38400 to knowndrives table |
---|
| 504 | [BA] When printing ATA error log, print the LBA at which READ |
---|
| 505 | or WRITE commands failed. |
---|
| 506 | [BA] Changed syntax of error message in smartctl |
---|
| 507 | [BA] Added versioning info (-V options to smartd/smartctl) for |
---|
| 508 | Solaris ATA module. |
---|
| 509 | |
---|
| 510 | * Thu Feb 12 2004 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 511 | [KS] Added ATA/IDE support for Solaris/SPARC (ATA/IDE not yet for |
---|
| 512 | Solaris/x86). |
---|
| 513 | [BA] 3ware controllers: documented that one can monitor any of the |
---|
| 514 | physical disks from any of the 3ware /dev/sd? logical devices. |
---|
| 515 | Better warnings if querying a disk that does not exist. |
---|
| 516 | [PW] Added Hitachi Travelstar DK23DA series, Maxtor DiamondMax Plus 40 |
---|
| 517 | series, Western Digital Caviar WDxxxAA, WDxxxBA, and WDxxxAB series |
---|
| 518 | to knowndrives table |
---|
| 519 | [BA] missing 'pragma pack' on ATA IDENIFY DEVICE structure may have |
---|
| 520 | caused odd or incorrect results on 64-bit machines. |
---|
| 521 | [BA] smartctl/smartd allow inspection of self-test and error logs even |
---|
| 522 | if disk firmware claims that these don't exist. This is needed |
---|
| 523 | for some Maxtor disks whose firmware does not indicate log support |
---|
| 524 | even though the disk DOES support it. |
---|
| 525 | [BA] Improved porting instructions and documentation in os_generic.c |
---|
| 526 | [PW] Add Western Digital Caviar WD136AA and SAMSUNG SP40A2H (RR100-07 |
---|
| 527 | firmware) to knowndrives table. |
---|
| 528 | [EM] FreeBSD: remove extra definition of FreeNonZero |
---|
| 529 | [BA] smartctl: the -q silent option was printing output for some |
---|
| 530 | error conditions. Fixed. Will rename relevant variables to help |
---|
| 531 | avoid these errors in the future. |
---|
| 532 | [SS] NetBSD port added. |
---|
| 533 | [BA] more sensible error messages for devfs and devfs-like systems. |
---|
| 534 | Instead of saying that the DIRECTORY does not exist, say that |
---|
| 535 | the DEVICE does not exist. |
---|
| 536 | [BA] smartd: added -n Directive, to prevent disk spin-up depending |
---|
| 537 | upon the power mode (SLEEP, STANDBY, or IDLE). |
---|
| 538 | [PW] Added Maxtor DiamondMax 20 VL series, Fujitsu MPF series, |
---|
| 539 | Maxtor DiamondMax 36 series, Maxtor DiamondMax 4320 series, and |
---|
| 540 | Maxtor DiamondMax 536DX series to knowndrives table. |
---|
| 541 | [BA] many warning messages now give the file name AND VERSION |
---|
| 542 | [BA] smartd: when the user provides multiple address recipients |
---|
| 543 | to the '-m' Directive in a comma-delineated list, the commas |
---|
| 544 | are stripped out before passing the list of addresses to the |
---|
| 545 | mailer program. (Thanks to Calin A. Culianu for pointing this out |
---|
| 546 | and providing a patch.) |
---|
| 547 | [BA] smartd: when the '-M exec path' Directive is used, any stdout OR |
---|
| 548 | stderr output from the executable "path" is assumed to indicate a |
---|
| 549 | problem, and is echoed to SYSLOG. |
---|
| 550 | [BA] Added all missing IBM/Hitachi Deskstar 180GXP models to knowndrives |
---|
| 551 | table. |
---|
| 552 | [PW] Added some missing IBM/Hitachi Deskstar 120GXP models to knowndrives |
---|
| 553 | table. |
---|
| 554 | [PW] Added IBM Travelstar 14GS to knowndrives table. |
---|
| 555 | [PW] Modified knowndrives table to match entire Hitachi Travelstar |
---|
| 556 | DK23BA and DK23EA series of drives (thanks to Norikatsu Shigemura |
---|
| 557 | for submitting the patch). |
---|
| 558 | [PW] Added some missing Fujitsu MPE series drives to knowndrives table. |
---|
| 559 | [PW] Added TOSHIBA MK4019GAX, TOSHIBA MK6409MAV, and QUANTUM |
---|
| 560 | FIREBALLlct15 20 to knowndrives table. |
---|
| 561 | [EM] Fixup example command output for FreeBSD |
---|
| 562 | [PW] Added Maxtor DiamondMax 80 family to knowndrives table. |
---|
| 563 | [EM] Catch up FreeBSD code to switch PROJECTHOME to PACKAGE_HOMEPAGE |
---|
| 564 | macros. |
---|
| 565 | [BA] smartd: now watches stdout/stderr when trying to run mail, mailx |
---|
| 566 | or mail warning script, and reports any output to SYSLOG. This |
---|
| 567 | gives a clearer error message if something is wrong. |
---|
| 568 | [BA] smartd: Solaris init script modified to accomodate grep that |
---|
| 569 | lacks '-q' quiet option. Also check for running process to kill |
---|
| 570 | on stop. |
---|
| 571 | [PW] Added some missing Seagate Barracuda 7200.7 and 7200.7 Plus drives |
---|
| 572 | to knowndrives table. |
---|
| 573 | [PW] Added Maxtor DiamondMax Plus 60 family and Seagate U Series 5 20413 |
---|
| 574 | to knowndrives table. |
---|
| 575 | [BA] smartd: under Solaris, made default mailer be 'mailx' not |
---|
| 576 | 'mail', since Solaris 'mail' does not accept a '-s' argument. |
---|
| 577 | A workaround for Solaris users of earlier versions is to |
---|
| 578 | have '-M exec /bin/mailx' in their smartd.conf config file. |
---|
| 579 | [DG] some SCSI controllers don't like odd length transfers so make |
---|
| 580 | sure LOG SENSE transfers are rounded up to an even number when |
---|
| 581 | and odd length is reported (i.e. there is a double fetch, the |
---|
| 582 | first to find the length, the second gets the data) |
---|
| 583 | [BA] smartd man pages: under Solaris, correct section numbers in the |
---|
| 584 | 'See also' section. |
---|
| 585 | [KS/BA] smartd man page: describe how to set Solaris syslog.conf |
---|
| 586 | file to catch all messages. Give correct Solaris SYSLOG default |
---|
| 587 | path /var/adm/messages in man pages. |
---|
| 588 | [BA] smartd: incorporated Debian startup script submitted by user. |
---|
| 589 | [BA] smartctl: modified printing of self-test log entry number. Seagate |
---|
| 590 | firmware can leave 'holes' in the self-test log while a test is |
---|
| 591 | actually running. We now print entry numbers consistently in this |
---|
| 592 | case, not assuming that entries are contiguous. |
---|
| 593 | [PW] Added QUANTUM FIREBALL CX10.2A and Western Digital Caviar AC23200L |
---|
| 594 | to knowndrives table. |
---|
| 595 | [PW] Added QUANTUM FIREBALLlct20 20 to knowndrives table. |
---|
| 596 | [PW] Added Maxtor DiamondMax Plus D740X family to knowndrives table. |
---|
| 597 | [PW] Added IBM Travelstar 32GH, 30GT, and 20GN family to knowndrives |
---|
| 598 | table. |
---|
| 599 | [BA] Slackware init script modified to search for /etc/slackware-version |
---|
| 600 | rather than /etc/slackware-release. |
---|
| 601 | [PW] Added Seagate Barracuda ATA II family and TOSHIBA MK4019GAXB to |
---|
| 602 | knowndrives table. |
---|
| 603 | [GG] explain howto use autoreconf in autogen.sh |
---|
| 604 | [KS] Makefile.am/configure.in: changed manual page sections for |
---|
| 605 | Solaris. |
---|
| 606 | [BA] smartd: reduced number of scheduled self-test messages if |
---|
| 607 | test already run in current hour. |
---|
| 608 | [PW] Added Maxtor DiamondMax Plus 8 family to knowndrives table. |
---|
| 609 | [BA] linux: check for linux/hdreg.h. If it's there, use it. If |
---|
| 610 | not, provide the necessary definitions ourselves. |
---|
| 611 | [PW] Removed warning for IBM Deskstar 40GV & 75GXP series drives |
---|
| 612 | with TXAOA5AA firmware |
---|
| 613 | [PW] Added IBM Travelstar 25GS, 18GT, and 12GN family to knowndrives |
---|
| 614 | table. |
---|
| 615 | [PW] Added IBM/Hitachi Travelstar 60GH & 40GN family to knowndrives |
---|
| 616 | table. |
---|
| 617 | [BA] smartd: made '-s' Directive more efficient. Now store |
---|
| 618 | compiled regex, and re-use. If device lacks certain self-test |
---|
| 619 | capabilities, track it and don't try again. |
---|
| 620 | [BA] smartd: made memory allocation for device lists completely |
---|
| 621 | dynamic (eliminating compile-time maximum length constants). |
---|
| 622 | [PW] Removed warning for SAMSUNG SP0802N with TK100-23 firmware |
---|
| 623 | [PW] Added Seagate Barracuda ATA IV family to knowndrives table. |
---|
| 624 | [BA] smartd: reduce per-device memory footprint by making |
---|
| 625 | mail-warning info dynamically allocated. Also remove |
---|
| 626 | potential memory leak if use has -m Directive twice and |
---|
| 627 | keeps reloading the config file (highly unlikely this would |
---|
| 628 | ever be noticed!) |
---|
| 629 | [DG] smartd: added SCSI scheduled self-tests (Background |
---|
| 630 | short or extended). |
---|
| 631 | [BA] smartd: can now run scheduled offline immediate and |
---|
| 632 | self-tests. See man page and -s Directive for details. |
---|
| 633 | [GG] don't include manpages in make-dist-tarball. |
---|
| 634 | [BA] smartctl: on-line examples given with -h are now correct |
---|
| 635 | for solaris and linux, but wrong for freebsd. Ed? |
---|
| 636 | [BA] smartd: man page now explains device scanning for solaris as |
---|
| 637 | well as linux and freebsd. |
---|
| 638 | [BA] smartd/smartctl: man pages now report correct CVS tag release |
---|
| 639 | date, and executables '-V' options reports more build info. |
---|
| 640 | |
---|
| 641 | * Sat Nov 29 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 642 | [BA] Improved user messages that appear from 'make install' |
---|
| 643 | [PW] Removed warning for SAMSUNG SP1213N with firmware TL100-23 |
---|
| 644 | [BA] incorporated SuSE init script from user. |
---|
| 645 | [DG] if SCSI device is read only, then open it read only. |
---|
| 646 | [BA] when compiled on non-supported system (NOT linux, freebsd or solaris) then |
---|
| 647 | the run-time error messages now clearly say 'your system is not supported' |
---|
| 648 | and give clear directions. |
---|
| 649 | [BA] ./configure script now works correctly on SuSE linux boxes |
---|
| 650 | [BA] minor improvements to man pages |
---|
| 651 | [BA] simplified detection of packet (ATAPI, CD) devices. |
---|
| 652 | [BA] init script (redhat, mandrake, yellowdog) now uses correct |
---|
| 653 | strings for translation and is slightly more standard. |
---|
| 654 | [DG] smartctl: output scsi Seagate vendor pages for disks (not tapes) |
---|
| 655 | * Wed Nov 19 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 656 | [DG] smartd/smartctl: changed scsiClearControlGLTSD() to |
---|
| 657 | scsiSetControlGLTSD() with an 'enabled' argument so '-S on' |
---|
| 658 | and '-S off' work for SCSI devices (if changing GLTSD supported). |
---|
| 659 | [BA] smartd/smartctl: wired in scsiClearControlGLTSD(). Could still |
---|
| 660 | use a corresponding Set function. Left stubs for this purpose. |
---|
| 661 | [DG] scsicmds: added scsiClearControlGLTSD() [still to be wired in] |
---|
| 662 | [BA] smartctl: make SCSI -T options behave the same way as the |
---|
| 663 | ATA ones. |
---|
| 664 | [DG] smartctl: output scsi transport protocol if available |
---|
| 665 | [DG] scsi: stop device scan in smartd and smartctl if badly formed |
---|
| 666 | mode response [heuristic to filter out USB devices before we |
---|
| 667 | (potentially) lock them up]. |
---|
| 668 | [BA] smartd: deviceclose()->CloseDevice(). Got rid of SCSIDEVELOPMENT |
---|
| 669 | macro-enabled code. Added -W to list of gcc specific options to |
---|
| 670 | always enable. Made code clean for -W warnings. |
---|
| 671 | [PW] Added Maxtor DiamondMax VL 30 family to knowndrives table. |
---|
| 672 | [DG] scsi: add warning (when '-l error' active) if Control mode page |
---|
| 673 | GLTSD bit is set (global disable of saving log counters) |
---|
| 674 | [DG] scsi: remember mode sense cmd length. Output trip temperature |
---|
| 675 | from IE lpage (IBM extension) when unavailable from temp lpage. |
---|
| 676 | [BA] smartd: for both SCSI and ATA now warns user if either |
---|
| 677 | the number of self-test errors OR timestamp of most |
---|
| 678 | recent self-test error have increased. |
---|
| 679 | [DG] smartctl: output Seagate scsi Cache and Factory log pages (if |
---|
| 680 | available) when vendor attributes chosen |
---|
| 681 | [DG] smartd: add scsiCountFailedSelfTests() function. |
---|
| 682 | [DG] Do more sanity checking of scsi log page responses. |
---|
| 683 | [BA] smartd: now warns user if number of self-test errors has |
---|
| 684 | increased for SCSI devices. |
---|
| 685 | [BA] smartd: warn user if number of ATA self-test errors increases |
---|
| 686 | (as before) OR if hour time stamp of most recent self-test |
---|
| 687 | error changes. |
---|
| 688 | [DG] More checks for well formed mode page responses. This has the side |
---|
| 689 | effect of stopping scans on bad SCSI implementations (e.g. some |
---|
| 690 | USB disks) prior to sending commands (typically log sense) that |
---|
| 691 | locks them up. |
---|
| 692 | [PW] Added Western Digital Caviar family and Caviar SE family to |
---|
| 693 | knowndrives table. |
---|
| 694 | [BA] smartd: added -l daemon (which is the default value if -l |
---|
| 695 | is not used). |
---|
| 696 | [PW] Added Seagate Barracuda ATA V family to knowndrives table. |
---|
| 697 | [BA] smartd: added additional command line argument -l FACILITY |
---|
| 698 | or --logfacility FACILITY. This can be used to redirect |
---|
| 699 | messages from smartd to a different file than the one used |
---|
| 700 | by other system daemons. |
---|
| 701 | [PW] Added Seagate Barracuda 7200.7, Western Digital Protege WD400EB, |
---|
| 702 | and Western Digital Caviar AC38400 to knowndrives table. |
---|
| 703 | [BA] smartd: scanning should now also work correctly for |
---|
| 704 | devfs WITHOUT traditional links /dev/hd[a-t] or /dev/sd[a-z]. |
---|
| 705 | [PW] Added Maxtor 4W040H3, Seagate Barracuda 7200.7 Plus, |
---|
| 706 | IBM Deskstar 120GXP (40GB), Seagate U Series 20410, |
---|
| 707 | Fujitsu MHM2100AT, MHL2300AT, MHM2150AT, and IBM-DARA-212000 |
---|
| 708 | to knowndrives table. |
---|
| 709 | [PW] Added remaining Maxtor DiamondMax Plus 9 models to knowndrives |
---|
| 710 | table. |
---|
| 711 | [EM] smartd: If no matches found, then return 0, rather than an error |
---|
| 712 | indication, as it just means no devices of the given type exist. |
---|
| 713 | Adjust FreeBSD scan code to mirror Linux version. |
---|
| 714 | [BA] smartd: made device scan code simpler and more robust. If |
---|
| 715 | too many devices detected, warn user but scan as many |
---|
| 716 | as possible. If error in scanning, warn user but don't |
---|
| 717 | die right away. |
---|
| 718 | [EM] smartd: To keep as consistent as possible, migrate FreeBSD |
---|
| 719 | devicescan code to also use glob(3). Also verified clean |
---|
| 720 | compile on a 4.7 FreeBSD system. |
---|
| 721 | [BA] smartd: Modified device scan code to use glob(3). Previously |
---|
| 722 | it appeared to have trouble when scanning devices on an XFS |
---|
| 723 | file system, and used non-public interface to directory |
---|
| 724 | entries. Problems were also reported when /dev/ was on an |
---|
| 725 | ext2/3 file system, but there was a JFS partition on the same |
---|
| 726 | disk. |
---|
| 727 | [BA] Clearer error messages when device scanning finds no suitable |
---|
| 728 | devices. |
---|
| 729 | [EM] FreeBSD: Fixup code to allow for proper compilation under |
---|
| 730 | -STABLE branch. |
---|
| 731 | |
---|
| 732 | * Fri Oct 31 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 733 | - [BA] smartd: didn't close file descriptors of ATA packet devices |
---|
| 734 | that are scanned. Fixed. |
---|
| 735 | - [BA] Added reload/report targets to the smartmontools init script. |
---|
| 736 | reload: reloads config file |
---|
| 737 | report: send SIGUSR1 to check devices now |
---|
| 738 | |
---|
| 739 | * Mon Oct 27 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 740 | - [EM] Fix compile issues for FreeBSD < 5-CURRENT. |
---|
| 741 | - [PW] Added Fujitsu MHM2200AT to knowndrives table. |
---|
| 742 | - [BA] To help catch bugs, clear ATA error structures before all |
---|
| 743 | ioctl calls. Disable code that attempted to time-out on SCSI |
---|
| 744 | devices when they hung (doesn't work). |
---|
| 745 | - [BA] Documented STATUS/ERROR flags added by [PW] below. |
---|
| 746 | - [BA] Improved algorithm to recognize ATA packet devices. Should |
---|
| 747 | no longer generate SYSLOG kernel noise when user tries either |
---|
| 748 | smartd or smartctl on packet device (CD-ROM or DVD). Clearer |
---|
| 749 | warning messages from smartd when scanning ATA packet device. |
---|
| 750 | - [PW] Added TOSHIBA MK4025GAS to knowndrives table. |
---|
| 751 | - [PW] Added a textual interpretation of the status and error registers |
---|
| 752 | in the SMART error log (ATA). The interpretation is |
---|
| 753 | command-dependent and currently only eight commands are supported |
---|
| 754 | (those which produced errors in the error logs that I happen to |
---|
| 755 | have seen). |
---|
| 756 | - [BA] added memory allocation tracking to solaris code. |
---|
| 757 | Fixed solaris signal handling (reset handler to default |
---|
| 758 | after first call to handler) by using sigset. Added |
---|
| 759 | HAVE_SIGSET to configure.in |
---|
| 760 | - [CD] solaris port: added SCSI functionality to solaris |
---|
| 761 | stubs. |
---|
| 762 | - [BA] smartd: attempt to address bug report about smartd |
---|
| 763 | hanging on USB devices when scanning: |
---|
| 764 | https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=107615 |
---|
| 765 | Set a timeout of SCSITIMEOUT (nominally 7 seconds) before |
---|
| 766 | giving up. |
---|
| 767 | - [EM] smartd: DEVICESCAN will follow links in a devfs filesystem and |
---|
| 768 | make sure the end point is a disc. Update documentation, added |
---|
| 769 | note about FreeBSD scanning |
---|
| 770 | - [BA] smartd: DEVICESCAN also looks for block devices in |
---|
| 771 | /dev. Updated documentation. Now scans for up to |
---|
| 772 | 20 ATA devices /dev/hda-t rather than previous 12 |
---|
| 773 | /dev/hda-l. |
---|
| 774 | - [EM] smartd: mirror the FreeBSD DEVICESCAN logic for Linux, |
---|
| 775 | so that smartd now scans only devices found in /dev/. Also, |
---|
| 776 | make utility memory functions take a line number and file so |
---|
| 777 | that we report errors with the correct location. |
---|
| 778 | - [GG] add a note about Debian bug #208964 to WARNINGS. |
---|
| 779 | - [BA] smartctl: -T verypermissive option broken. Use |
---|
| 780 | -T verpermissive until the next release, please. |
---|
| 781 | - [BA] Syntax mods so that code also compiles on Solaris using |
---|
| 782 | Sun Workshop compiler. Need -xmemalign 1i -xCC flags |
---|
| 783 | for cc. |
---|
| 784 | |
---|
| 785 | * Wed Oct 15 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 786 | [DK] Changed configure.in so -Wall is only included if gcc |
---|
| 787 | is used (this is a gcc specific flag) and -fsignedchar |
---|
| 788 | is not used at all (this is a gcc specific compiler |
---|
| 789 | flag). |
---|
| 790 | [BA] Modifications so that code now compiles under solaris. Now |
---|
| 791 | all that's needed (:-) is to fill in os_solaris.[hc]. Added |
---|
| 792 | os_generic.[hc] as guide to future ports. Fixed -D option |
---|
| 793 | of smartd (no file name). Modified -h opt of smartd/smartctl |
---|
| 794 | to work properly with solaris getopt(). |
---|
| 795 | [EM] Update MAN pages with notes that 3ware drives are NOT supported |
---|
| 796 | under FreeBSD. Cleanup FreeBSD warning message handling. |
---|
| 797 | [EM] FreeBSD only: Fix first user found bug....I guess I was making |
---|
| 798 | the wrong assumption on how to convert ATA devnames to |
---|
| 799 | channel/unit numbers. |
---|
| 800 | [EM] Allow for option --enable-sample to append '.sample' to installed |
---|
| 801 | smartd.conf and rc script files. Also, let rc script shell setting |
---|
| 802 | be determined by configure |
---|
| 803 | [EM] Minor autoconf update to include -lcam for FreeBSD |
---|
| 804 | [EM] Add conditional logic to allow FreeBSD to compile pre-ATAng. |
---|
| 805 | -- note, not tested |
---|
| 806 | Add some documentation to INSTALL for FreeBSD. |
---|
| 807 | [EM] Implement SCSI CAM support for FreeBSD. NOTE: I am not an expert |
---|
| 808 | in the use of CAM. It seems to work for me, but I may be doing |
---|
| 809 | something horribly wrong, so please exercise caution. |
---|
| 810 | [EM] Switch over to using 'atexit' rather than 'on_exit' routine. This also |
---|
| 811 | meant we needed to save the exit status elsewhere so our 'Goodbye' |
---|
| 812 | routine could examine it. |
---|
| 813 | [EM] Move the DEVICESCAN code to os specific files. Also moved some of the |
---|
| 814 | smartd Memory functions to utility.c to make available to smartctl. |
---|
| 815 | [EM] Code janitor work on os_freebsd.c. |
---|
| 816 | [EM] Added os_freebsd.[hc] code. Additional code janitor |
---|
| 817 | work. |
---|
| 818 | [BA] Code janitor working, moving OS dependent code into |
---|
| 819 | os_linux.[hc]. |
---|
| 820 | [GG] conditionally compile os_{freebsd,linux}.o depending on |
---|
| 821 | host architecture |
---|
| 822 | [PW] Print estimated completion time for tests |
---|
| 823 | [BA] Added -F samsung2 flag to correct firmware byte swap. |
---|
| 824 | All samsung drives with *-23 firmware revision string. |
---|
| 825 | |
---|
| 826 | * Sun Oct 05 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 827 | - [GG] Fixed broken Makefile.am (zero length smartd.conf.5 |
---|
| 828 | was being created) |
---|
| 829 | - [FM] Improved Slackware init script added to /etc/smartd.initd |
---|
| 830 | |
---|
| 831 | * Fri Oct 03 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 832 | - [BA] smartctl: added '-T verypermissive' option which is |
---|
| 833 | equivalent to giving '-T permissive' many times. |
---|
| 834 | - [BA] Try harder to identify from IDENTIFY DEVICE structure |
---|
| 835 | if SMART supported/enabled. smartd now does a more |
---|
| 836 | thorough job of trying to assess this before sending |
---|
| 837 | a SMART status command to find out for sure. |
---|
| 838 | - [BA] smartctl: it's now possible to override the program's |
---|
| 839 | guess of the device type (ATA or SCSI) with -d option. |
---|
| 840 | - [BA] try hard to avoid sending IDENTIFY DEVICE to packet |
---|
| 841 | devices (CDROMS). They can't do SMART, and this generates |
---|
| 842 | annoying syslog messages. At the same time, identify type |
---|
| 843 | of Packet device. |
---|
| 844 | - [BA] smartctl: Can now use permissive option more |
---|
| 845 | than once, to control how far to go before giving up. |
---|
| 846 | - [BA] smartd: if user asked to monitor either error or self-test |
---|
| 847 | logs (-l error or -l selftest) WITHOUT monitoring any of the |
---|
| 848 | Attribute values, code will SEGV. For 5.1-18 and earlier, |
---|
| 849 | a good workaround is to enable Auto offline (-o on). |
---|
| 850 | - [BA] smartctl: If enable auto offline command given, update auto |
---|
| 851 | offline status before printing capabilities. |
---|
| 852 | - [GG] Make autotools build the default, remove autotools.diff |
---|
| 853 | - [GG] Add auto{conf,make} support, not enabled by default. |
---|
| 854 | - [BA] Eliminated #include <linux/hdreg.h> from code. This |
---|
| 855 | should simplify porting to solaris, FreeBSD, etc. The |
---|
| 856 | only linux-specific code is now isolated to three routines, |
---|
| 857 | one for SCSI, one for Escalade, one for ATA. |
---|
| 858 | |
---|
| 859 | * Fri Aug 22 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 860 | - [BA] smartd: fixed serious bug - Attributes not monitored unless |
---|
| 861 | user told smartd to ignore at least one of them! |
---|
| 862 | |
---|
| 863 | * Tue Aug 19 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 864 | - [BA] Default runlevels for smartd changed from 3 and 5 to |
---|
| 865 | 2, 3, 4, and 5. |
---|
| 866 | - [BA] Removed as much dynamic memory allocation as possible from |
---|
| 867 | configuration file parsing. Reloading config file, even in |
---|
| 868 | presence of syntax errors etc. should not cause memory leaks. |
---|
| 869 | - [PW] It is no longer permissible for the integer part (if any) of |
---|
| 870 | arguments to --report and --device to be followed by non-digits. |
---|
| 871 | For example, the "foo" in --report=ioctl,2foo was previously |
---|
| 872 | ignored, but now causes an error. |
---|
| 873 | - [BA] smartd: added -q/--quit command line option to specify |
---|
| 874 | under what circumstances smartd should exit. The old |
---|
| 875 | -c/--checkonce option is now obsoleted by this more |
---|
| 876 | general-purpose option. |
---|
| 877 | - [BA] smartd now responds to a HUP signal by re-reading its |
---|
| 878 | configuration file /etc/smartd.conf. If there are |
---|
| 879 | errors in this file, then the configuration file is |
---|
| 880 | ignored and smartd continues to monitor the devices that |
---|
| 881 | it was monitoring prior to receiving the HUP signal. |
---|
| 882 | - [BA] Now correctly get SMART status from disks behind 3ware |
---|
| 883 | controllers, thanks to Adam Radford. Need 3w-xxxx driver |
---|
| 884 | version 1.02.00.037 or later. Previously the smartmontools |
---|
| 885 | SMART status always returned "OK" for 3ware controllers. |
---|
| 886 | - [BA] Additional work on dynamic memory allocation/deallocation. |
---|
| 887 | This should have no effect on smartctl, but clears that way |
---|
| 888 | for smartd to dynamically add and remove entries. It should |
---|
| 889 | also now be easier to modify smartd to re-read its config |
---|
| 890 | file on HUP (which is easy) without leaking memory (which is |
---|
| 891 | harder). The philosophy is that memory for data structures in |
---|
| 892 | smartd is now allocated only on demand, the first time it |
---|
| 893 | is needed. |
---|
| 894 | - [BA] smartd: finished cleanup. Now use create/rm functions for |
---|
| 895 | cfgentries and dynamic memory allocation almost everywhere. |
---|
| 896 | Philosophy: aggresively try and provoke SEGV to help find |
---|
| 897 | bad code. |
---|
| 898 | - [BA] Added SAMSUNG SV0412H to knowndrives table. |
---|
| 899 | - [BA] smartd: if DEVICESCAN used then knowndrives table might not set |
---|
| 900 | the -v attributes correctly -- may have been the same for all |
---|
| 901 | the drives. Cleaned up some data structures and memory |
---|
| 902 | allocation to try and ensure segvs if such problems are |
---|
| 903 | introduced again. |
---|
| 904 | - [BA] Now allow -S on and -o on for the 3ware device type. For these |
---|
| 905 | commands to be passed through, the stock 3ware 3w-xxxx driver |
---|
| 906 | must be patched (8 lines). I'll post a patch on the smartmontools |
---|
| 907 | home page after it's been tested by a few other people and 3ware |
---|
| 908 | have had a chance to look it over. |
---|
| 909 | |
---|
| 910 | * Wed Aug 06 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 911 | - [BA] smartd - can now monitor ATA drives behind 3ware controllers. |
---|
| 912 | - [BA] smartd - changed some FATAL out of memory error messages from |
---|
| 913 | syslog level LOG_INFO to LOG_CRIT. |
---|
| 914 | - [BA] smartctl - added code to look at ATA drives behind 3ware RAID |
---|
| 915 | controllers using the 3w-xxxx driver. Note that for technical |
---|
| 916 | reasons related to the 3w-xxxx driver, the "Enable Autosave", |
---|
| 917 | "Enable Automatic Offline" commands are not implemented. |
---|
| 918 | I will add this to smartd shortly. |
---|
| 919 | - [BA] smartd - modified sleep loop, so that smartd no longer comes |
---|
| 920 | on the run queue every second. Instead, unless interrupted, |
---|
| 921 | it sleeps until the next polling time, when it wakes up. Now |
---|
| 922 | smartd also tries to wake up at exactly the right |
---|
| 923 | intervals (nominally 30 min) even if the user has been sending |
---|
| 924 | signals to it. |
---|
| 925 | - [GG] add Fujitsu MHN2300AT to vendoropts_9_seconds. |
---|
| 926 | - [EB] Fujitsu change in knowndrives ... match the whole MPD and |
---|
| 927 | MPE series for vendoropts_9_seconds. |
---|
| 928 | - [BA] smartd bug, might cause segv if a device can not be opened. Was |
---|
| 929 | due to missing comma in char* list. Consequence is that email |
---|
| 930 | failure messages might have had the wrong Subject: heading for |
---|
| 931 | errorcount, FAILEDhealthcheck, FAILEDreadsmartdata, FAILEDreadsmarterrorlog, |
---|
| 932 | FAILEDreadsmartsefltestlog, FAILEDopendevice were all displaced by |
---|
| 933 | one. And FAILEDopendevice might have caused a segv if -m was being |
---|
| 934 | used as a smartd Directive. |
---|
| 935 | |
---|
| 936 | * Wed Jul 23 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 937 | - [BA] Cleaned up smartmontools.spec so that upgrading, removing |
---|
| 938 | and other such operations correctly preserve running behavior |
---|
| 939 | and booting behavior of smartd. |
---|
| 940 | - [BA] Improved formatting of ATA Error Log printout, and added |
---|
| 941 | listing of names of commands that caused the error. Added |
---|
| 942 | obsolete ATA-4 SMART feature commands to table, along with |
---|
| 943 | obsolete SFF-8035i SMART feature command. |
---|
| 944 | - [PW] Added atacmdnames.[hc], which turn command register & |
---|
| 945 | feature register pairs into ATA command names. |
---|
| 946 | - [BA] Added conveyance self-test. Some code added for selective |
---|
| 947 | self-tests, but #ifdefed out. |
---|
| 948 | - [BA] Modified smartd exit status and log levels. If smartd is |
---|
| 949 | "cleanly" terminated, for example with SIGTERM, then its |
---|
| 950 | exit messages are now logged at LOG_INFO not LOG_CRIT |
---|
| 951 | - [BA] Added Attribute IDs (Fujitsu) 0xCA - 0xCE. This is decimal |
---|
| 952 | 202-206. Added -v switches for interpretation of Attributes |
---|
| 953 | 192, 198 and 201. |
---|
| 954 | - [BA] Made smartmontools work with any endian order machine for: |
---|
| 955 | - SMART selftest log |
---|
| 956 | - SMART ATA error log |
---|
| 957 | - SMART Attributes values |
---|
| 958 | - SMART Attributes thesholds |
---|
| 959 | - IDENTIFY DEVICE information |
---|
| 960 | - LOG DIRECTORY |
---|
| 961 | Smartmontools is now free of endian bias and works correctly |
---|
| 962 | on both little- and big-endian hardware. This has been tested by |
---|
| 963 | three independent PPC users on a variety of ATA and SCSI hardware. |
---|
| 964 | - [DG] Check that certain SCSI command responses are well formed. If |
---|
| 965 | IEC mode page response is not well formed exit smartctl. This |
---|
| 966 | is to protect aacraid. smartd should ignore a aacraid device. |
---|
| 967 | |
---|
| 968 | * Mon Jun 16 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 969 | - [BA] smartctl: added column to -A output to show if Attributes are |
---|
| 970 | updated only during off-line testing or also during normal |
---|
| 971 | operation. |
---|
| 972 | |
---|
| 973 | * Thu Jun 10 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 974 | - [BA] smartd: attempt to enable/disable automatic offline testing even |
---|
| 975 | if the disk appears not to support it. Now the same logic |
---|
| 976 | as smartctl. |
---|
| 977 | - [BA] Added definition of Attribute 201, soft read error rate. |
---|
| 978 | - [BA] Added IBM/Hitachi IC35L120AVV207-1 (GXP-180) and corresponding |
---|
| 979 | 8MB Cache GXP-120 to drive database. |
---|
| 980 | - [BA] smartd: if DEVICESCAN Directive used in smartd.conf, and |
---|
| 981 | -I, -R or -r Directives used in conjunction with this, got |
---|
| 982 | segv errors. Fixed by correcting memory allocation calls. |
---|
| 983 | - [BA] smartd: enable automatic offline testing was broken due |
---|
| 984 | to cut-and-paste error that disabled it instead of |
---|
| 985 | enabling it. Thanks to Maciej W. Rozycki for pointing |
---|
| 986 | out the problem and solution. |
---|
| 987 | - [BA] Fixed "spelling" of some Attribute names to replace spaces |
---|
| 988 | in names by underscores. (Fixed field width easier for awk |
---|
| 989 | style parsing.) |
---|
| 990 | - [BA] Added mods submitted by Guilhem Frezou to support Attribute 193 |
---|
| 991 | being load/unload cycles. Add -v 193,loadunload option, useful |
---|
| 992 | for Hitachi drive DK23EA-30, and add this drive to knowndrive.c |
---|
| 993 | Add meaning of attribute 250 : Read error retry rate |
---|
| 994 | - [BA] Added another entry for Samsung drives to knowndrive table. |
---|
| 995 | - [DG] Refine SCSI log sense command to do a double fetch in most cases |
---|
| 996 | (but not for the TapeAlert log page). Fix TapeAlert and Self Test |
---|
| 997 | log pgae response truncation. |
---|
| 998 | - [PW] Added 'removable' argument to -d Directive for smartd. This indicates |
---|
| 999 | that smartd should continue (rather than exit) if the device does not |
---|
| 1000 | appear to be present. |
---|
| 1001 | - [BA] Modified smartmontools.spec [Man pages location] and |
---|
| 1002 | smartd.initd [Extra space kills chkconfig!] for Redhat 6.x |
---|
| 1003 | compatibility (thanks to Gerald Schnabel). |
---|
| 1004 | |
---|
| 1005 | * Wed May 7 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1006 | - [EB] Add another Fujitsu disk to knowndrives.c |
---|
| 1007 | - [GG] match for scsi/ and ide/ in case of devfs to exclude false postives |
---|
| 1008 | - [BA] If SCSI device listed in /etc/smartd.conf fails to open or do |
---|
| 1009 | SMART stuff correctly, or not enough space |
---|
| 1010 | to list all SCSI devices, fail with error unless |
---|
| 1011 | -DSCSIDEVELOPMENT set during compile-time. |
---|
| 1012 | - [BA] Added automatic recognition of /dev/i* (example: /dev/ide/...) |
---|
| 1013 | as an ATA device. |
---|
| 1014 | - [DG] Add "Device type: [disk | tape | medium changer | ...]" line to |
---|
| 1015 | smartctl -i output for SCSI devices. |
---|
| 1016 | - [PW] Fixed bug in smartd where test email would be sent regularly (for |
---|
| 1017 | example, daily if the user had specified -M daily) instead of just |
---|
| 1018 | once on startup. |
---|
| 1019 | - [KM] More TapeAlert work. Added translations for media changer |
---|
| 1020 | alerts. TapeAlert support reported according to the log page |
---|
| 1021 | presence. ModeSense not attempted for non-ready tapes (all |
---|
| 1022 | drives do not support this after all). Get peripheral type from |
---|
| 1023 | Inquiry even if drive info is not printed. Add QUIETON() |
---|
| 1024 | QUIETOFF() to TapeAlert log check. |
---|
| 1025 | - [BA] Stupid bug in atacmds.c minor_str[] affected ataVersionInfo(). |
---|
| 1026 | Two missing commas meant that minor_str[] had two few elements, |
---|
| 1027 | leading to output like this: |
---|
| 1028 | Device Model: Maxtor 6Y120L0 |
---|
| 1029 | Serial Number: Y40BF74E |
---|
| 1030 | Firmware Version: YAR41VW0 |
---|
| 1031 | Device is: Not in smartctl database [for details use: -P showall] |
---|
| 1032 | ATA Version is: 7 |
---|
| 1033 | ATA Standard is: 9,minutes |
---|
| 1034 | ^^^^^^^^^ |
---|
| 1035 | Missing commas inserted. |
---|
| 1036 | - [BA] Fixed smartd bug. On device registration, if ATA device did |
---|
| 1037 | not support SMART error or self-test logs but user had asked to |
---|
| 1038 | monitor them, an attempt would be made to read them anyway, |
---|
| 1039 | possibly generating "Drive Seek" errors. We now check that |
---|
| 1040 | the self-test and error logs are supported before trying to |
---|
| 1041 | access them the first time. |
---|
| 1042 | - [GG/BA] Fixed bug where if SMART ATA error log not supported, |
---|
| 1043 | command was tried anyway. Changed some error printing to use |
---|
| 1044 | print handlers. |
---|
| 1045 | - [GG] Makefile modifications to ease packaging |
---|
| 1046 | - [DG] Did work for TapeAlerts (SCSI). Now can detect /dev/nst0 as a |
---|
| 1047 | SCSI device. Also open SCSI devices O_NONBLOCK so they don't |
---|
| 1048 | hang on open awaiting media. The ATA side should worry about |
---|
| 1049 | this also: during a DEVICESCAN a cd/dvd device without media |
---|
| 1050 | will hang. Added some TapeAlert code suggested by Kai Makisara. |
---|
| 1051 | |
---|
| 1052 | * Mon Apr 21 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1053 | - [PW] Extended the -F option/Directive to potentially fix other firmware |
---|
| 1054 | bugs in addition to the Samsung byte-order bug. Long option name is |
---|
| 1055 | now --firmwarebug and the option/Directive accepts an argument |
---|
| 1056 | indicating the type of firmware bug to fix. |
---|
| 1057 | - [BA] Fixed a bug that prevented the enable automatic off-line |
---|
| 1058 | test feature from enabling. It also prevented the enable Attribute |
---|
| 1059 | autosave from working. See CVS entry for additional details. |
---|
| 1060 | - [PW] Modified the -r/--report option (smartctl and smartd) to allow the |
---|
| 1061 | user to specify the debug level as a positive integer. |
---|
| 1062 | - [BA] Added --log directory option to smartctl. If the disk |
---|
| 1063 | supports the general-purpose logging feature set (ATA-6/7) |
---|
| 1064 | then this option enables the Log Directory to be printed. |
---|
| 1065 | This Log Directory shows which device logs are available, and |
---|
| 1066 | their lengths in sectors. |
---|
| 1067 | - [PW] Added -P/--presets option to smartctl and -P Directive to smartd. |
---|
| 1068 | - [GG] Introduce different exit codes indicating the type of problem |
---|
| 1069 | encountered for smartd. |
---|
| 1070 | - [DG] Add non-medium error count to '-l error' and extended self test |
---|
| 1071 | duration to '-l selftest'. Get scsi IEs and temperature changes |
---|
| 1072 | working in smartd. Step over various scsi disk problems rather |
---|
| 1073 | than abort smartd startup. |
---|
| 1074 | - [DG] Support -l error for SCSI disks (and tapes). Output error counter |
---|
| 1075 | log pages. |
---|
| 1076 | - [BA] Added -F/--fixbyteorder option to smartctl. This allows us to read |
---|
| 1077 | SMART data from some disks that have byte-reversed two- and four- |
---|
| 1078 | byte quantities in their SMART data structures. |
---|
| 1079 | - [BA] Fixed serious bug: the -v options in smartd.conf were all put |
---|
| 1080 | together and used together, not drive-by-drive. |
---|
| 1081 | - [PW] Added knowndrives.h and knowndrives.c. The knowndrives array |
---|
| 1082 | supersedes the drivewarnings array. |
---|
| 1083 | - [GG] add {-p,--pidfile} option to smartd to write a PID file on |
---|
| 1084 | startup. Update the manpage accordingly. |
---|
| 1085 | - [DG] Fix scsi smartd problem detecting SMART support. More cleaning |
---|
| 1086 | and fix (and rename) scsiTestUnitReady(). More scsi renaming. |
---|
| 1087 | - [BA] Fixed smartd so that if a disk that is explictily listed is not |
---|
| 1088 | found, then smartd will exit with nonzero status BEFORE forking. |
---|
| 1089 | If a disk can't be registered, this will also be detected before |
---|
| 1090 | forking, so that init scripts can react correctly. |
---|
| 1091 | - [BA] Replaced all linux-specific ioctl() calls in atacmds.c with |
---|
| 1092 | a generic handler smartcommandhandler(). Now the only routine |
---|
| 1093 | that needs to be implemented for a given OS is os_specific_handler(). |
---|
| 1094 | Also implemented the --report ataioctl. This provides |
---|
| 1095 | two levels of reporting. Using the option once gives a summary |
---|
| 1096 | report of device IOCTL transactions. Using the option twice give |
---|
| 1097 | additional info (a printout of ALL device raw 512 byte SMART |
---|
| 1098 | data structures). This is useful for debugging. |
---|
| 1099 | - [DG] more scsi cleanup. Output scsi device serial number (VPD page |
---|
| 1100 | 0x80) if available as part of '-i'. Implement '-t offline' as |
---|
| 1101 | default self test (only self test older disks support). |
---|
| 1102 | - [BA] Changed crit to info in loglevel of smartd complaint to syslog |
---|
| 1103 | if DEVICESCAN enabled and device not found. |
---|
| 1104 | - [BA] Added -v 194,10xCelsius option/Directive. Raw Attribute number |
---|
| 1105 | 194 is ten times the disk temperature in Celsius. |
---|
| 1106 | - [DG] scsicmds.[hc] + scsiprint.c: clean up indentation, remove tabs. |
---|
| 1107 | Introduce new intermediate interface based on "struct scsi_cmnd_io" |
---|
| 1108 | to isolate SCSI generic commands + responses from Linux details; |
---|
| 1109 | should help port to FreeBSD of SCSI part of smartmontools. |
---|
| 1110 | Make SCSI command builders more parametric. |
---|
| 1111 | |
---|
| 1112 | * Thu Mar 13 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1113 | - [BA] smartctl: if HDIO_DRIVE_TASK ioctl() is not implemented (no |
---|
| 1114 | kernel support) then try to assess drive health by examining |
---|
| 1115 | Attribute values/thresholds directly. |
---|
| 1116 | - [BA] smartd/smartctl: added -v 200,writeerrorcount option/Directive |
---|
| 1117 | for Fujitsu disks. |
---|
| 1118 | - [BA] smartd: Now send email if any of the SMART commands fails, |
---|
| 1119 | or if open()ing the device fails. This is often noted |
---|
| 1120 | as a common disk failure mode. |
---|
| 1121 | - [BA] smartd/smartctl: Added -v N,raw8 -v N,raw16 and -v N,raw48 |
---|
| 1122 | Directives/Options for printing Raw Attributes in different |
---|
| 1123 | Formats. |
---|
| 1124 | - [BA] smartd: Added -r ID and -R ID for reporting/tracking Raw |
---|
| 1125 | values of Attributes. |
---|
| 1126 | - [BA] smartd/smartctl: Changed printing of spin-up-time attribute |
---|
| 1127 | raw value to reflect current/average as per IBM standard. |
---|
| 1128 | - [BA] smartd/smartctl: Added -v 9,seconds option for disks which |
---|
| 1129 | use Attribute 9 for power-on lifetime in seconds. |
---|
| 1130 | - [BA] smartctl: Added a warning message so that users of some IBM |
---|
| 1131 | disks are warned to update their firmware. Note: we may want |
---|
| 1132 | to add a command-line flag to disable the warning messages. |
---|
| 1133 | I have done this in a general way, using regexp, so that we |
---|
| 1134 | can add warnings about any type of disk that we wish.. |
---|
| 1135 | |
---|
| 1136 | * Wed Feb 12 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1137 | - [BA] smartd: Created a subdirectory examplescripts/ of source |
---|
| 1138 | directory that contains executable scripts for the -M exec PATH |
---|
| 1139 | Directive of smartd. |
---|
| 1140 | - [BA] smartd: DEVICESCAN in /etc/smartd.conf |
---|
| 1141 | can now be followed by all the same Directives as a regular |
---|
| 1142 | device name like /dev/hda takes. This allows one to use |
---|
| 1143 | (for example): |
---|
| 1144 | DEVICESCAN -m root@example.com |
---|
| 1145 | in the /etc/smartd.conf file. |
---|
| 1146 | - [BA] smartd: Added -c (--checkonce) command-line option. This checks |
---|
| 1147 | all devices once, then exits. The exit status can be |
---|
| 1148 | used to learn if devices were detected, and if smartd is |
---|
| 1149 | functioning correctly. This is primarily for Distribution |
---|
| 1150 | scripters. |
---|
| 1151 | - [BA] smartd: Implemented -M exec Directive for |
---|
| 1152 | smartd.conf. This makes it possible to run an |
---|
| 1153 | arbitrary script or mailing program with the |
---|
| 1154 | -m option. |
---|
| 1155 | - [PW] smartd: Modified -M Directive so that it can be given |
---|
| 1156 | multiple times. Added -M exec Directive. |
---|
| 1157 | |
---|
| 1158 | * Tue Jan 21 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1159 | - [BA] Fixed bug in smartctl pointed out by Pierre Gentile. |
---|
| 1160 | -d scsi didn't work because tryata and tryscsi were |
---|
| 1161 | reversed -- now works on /devfs SCSI devices. |
---|
| 1162 | - [BA] Fixed bug in smartctl pointed out by Gregory Goddard |
---|
| 1163 | <ggoddard@ufl.edu>. Manual says that bit 6 of return |
---|
| 1164 | value turned on if errors found in smart error log. But |
---|
| 1165 | this wasn't implemented. |
---|
| 1166 | - [BA] Modified printing format for 9,minutes to read |
---|
| 1167 | Xh+Ym not X h + Y m, so that fields are fixed width. |
---|
| 1168 | - [BA] Added Attribute 240 "head flying hours" |
---|
| 1169 | |
---|
| 1170 | * Sun Jan 12 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1171 | - [BA] As requested, local time/date now printed by smartctl -i |
---|
| 1172 | |
---|
| 1173 | * Thu Jan 9 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1174 | - [PW] Added 'help' argument to -v for smartctl |
---|
| 1175 | - [PW] Added -D, --showdirectives option to smartd |
---|
| 1176 | |
---|
| 1177 | * Sat Jan 4 2003 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1178 | - [DG] add '-l selftest' capability for SCSI devices (update smartctl.8) |
---|
| 1179 | - [BA] smartd,smartctl: added additional Attribute modification option |
---|
| 1180 | -v 220,temp and -v 9,temp. |
---|
| 1181 | - [PW] Renamed smartd option -X to -d |
---|
| 1182 | - [PW] Changed smartd.conf Directives -- see man page |
---|
| 1183 | - [BA/DG] Fixed uncommented comment in smartd.conf |
---|
| 1184 | - [DG] Correct 'Recommended start stop count' for SCSI devices |
---|
| 1185 | - [PW] Replaced smartd.conf directive -C with smartd option -i |
---|
| 1186 | - [PW] Changed options for smartctl -- see man page. |
---|
| 1187 | - [BA] Use strerror() to generate system call error messages. |
---|
| 1188 | - [BA] smartd: fflush() all open streams before fork(). |
---|
| 1189 | - [BA] smartctl, smartd simplified internal handling of checksums |
---|
| 1190 | for simpler porting and less code. |
---|
| 1191 | |
---|
| 1192 | * Sun Dec 8 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1193 | - [PW] smartd --debugmode changed to --debug |
---|
| 1194 | - [BA] smartd/smartctl added attribute 230 Head Amplitude from |
---|
| 1195 | IBM DPTA-353750. |
---|
| 1196 | - [PW] Added list of proposed new options for smartctl to README. |
---|
| 1197 | - [PW] smartd: ParseOpts() now uses getopt_long() if HAVE_GETOPT_LONG is |
---|
| 1198 | defined and uses getopt() otherwise. This is controlled by CPPFLAGS in |
---|
| 1199 | the Makefile. |
---|
| 1200 | - [BA] smartd: Fixed a couple of error messages done with perror() |
---|
| 1201 | to redirect them as needed. |
---|
| 1202 | - [BA] smartctl: The -O option to enable an Immediate off-line test |
---|
| 1203 | did not print out the correct time that the test would take to |
---|
| 1204 | complete. This is because the test timer is volatile and not |
---|
| 1205 | fixed. This has been fixed, and the smartctl.8 man page has been |
---|
| 1206 | updated to explain how to track the Immediate offline test as it |
---|
| 1207 | progresses, and to further emphasize the differences between the |
---|
| 1208 | off-line immediate test and the self-tests. |
---|
| 1209 | - [BA] smartd/smartctl: Added new attribute (200) Multi_Zone_Error_Rate |
---|
| 1210 | - [BA] smartctl: modified so that arguments could have either a single - |
---|
| 1211 | as in -ea or multiple ones as in -e -a. Improved warning message for |
---|
| 1212 | device not opened, and fixed error in redirection of error output of |
---|
| 1213 | HD identity command. |
---|
| 1214 | - [PW] smartd: added support for long options. All short options are still |
---|
| 1215 | supported; see manpage for available long options. |
---|
| 1216 | - [BA] smartctl. When raw Attribute value was 2^31 or larger, did |
---|
| 1217 | not print correctly. |
---|
| 1218 | |
---|
| 1219 | * Fri Nov 22 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1220 | - Allen: smartd: added smartd.conf Directives -T and -s. The -T Directive |
---|
| 1221 | enables/disables Automatic Offline Testing. The -s Directive |
---|
| 1222 | enables/disables Attribute Autosave. Documentation and |
---|
| 1223 | example configuration file updated to agree. |
---|
| 1224 | - Allen: smartd: user can make smartd check the disks at any time |
---|
| 1225 | (ie, interrupt sleep) by sending signal SIGUSR1 to smartd. This |
---|
| 1226 | can be done for example with: |
---|
| 1227 | kill -USR1 <pid> |
---|
| 1228 | where <pid> is the process ID number of smartd. |
---|
| 1229 | - Bolso: scsi: don't trust the data we receive from the drive too |
---|
| 1230 | much. It very well might have errors (like zero response length). |
---|
| 1231 | Seen on Megaraid logical drive, and verified in the driver source. |
---|
| 1232 | - Allen: smartd: added Directive -m for sending test email and |
---|
| 1233 | for modifying email reminder behavior. Updated manual, and sample |
---|
| 1234 | configuration file to illustrate & explain this. |
---|
| 1235 | - Allen: smartd: increased size of a continued smartd.conf line to |
---|
| 1236 | 1023 characters. |
---|
| 1237 | - Allen: Simplified Directive parsers and improved warning/error |
---|
| 1238 | messages. |
---|
| 1239 | |
---|
| 1240 | * Sun Nov 17 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1241 | - Fixed bug in smartd where testunitready logic inverted |
---|
| 1242 | prevented functioning on scsi devices. |
---|
| 1243 | - Added testunitnotready to smartctl for symmetry with smartd. |
---|
| 1244 | - Brabec: added Czech descriptions to .spec file |
---|
| 1245 | - Brabec: corrected comment in smartd.conf example |
---|
| 1246 | - Changed way that entries in the ATA error log are printed, |
---|
| 1247 | to make it clearer which is the most recent error and |
---|
| 1248 | which is the oldest one. |
---|
| 1249 | - Changed Temperature_Centigrade to Temperature_Celsius. |
---|
| 1250 | The term "Centigrade" ceased to exist in 1948. (c.f |
---|
| 1251 | http://www.bartleby.com/64/C004/016.html). |
---|
| 1252 | |
---|
| 1253 | * Wed Nov 13 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1254 | - smartd SCSI devices: can now send warning email message on failure |
---|
| 1255 | - Added a new smartd configuration file Directive: -M ADDRESS. |
---|
| 1256 | This sends a single warning email to ADDRESS for failures or |
---|
| 1257 | errors detected with the -c, -L, -l, or -f Directives. |
---|
| 1258 | |
---|
| 1259 | * Mon Nov 11 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1260 | - Modified perror() statements in atacmds.c so that printout for SMART |
---|
| 1261 | commands errors is properly suppressed or queued depending upon users |
---|
| 1262 | choices for error reporting modes. |
---|
| 1263 | - Added Italian descriptions to smartmontools.spec file. |
---|
| 1264 | - Started impementing send-mail-on-error for smartd; not yet enabled. |
---|
| 1265 | |
---|
| 1266 | * Sun Nov 10 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1267 | - Added -P (Permissive) Directive to smartd.conf file to allow SMART monitoring of |
---|
| 1268 | pre-ATA-3 Rev 4 disks that have SMART but do not have a SMART capability bit. |
---|
| 1269 | |
---|
| 1270 | * Thu Nov 7 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1271 | - Added a Man section 5 page for smartd.conf |
---|
| 1272 | - Changed Makefile so that the -V option does not reflect file state |
---|
| 1273 | before commit! |
---|
| 1274 | - modified .spec file so that locale information now contains |
---|
| 1275 | character set definition. Changed pt_BR to pt since we do not use any |
---|
| 1276 | aspect other than language. See man setlocale. |
---|
| 1277 | - smartctl: added new options -W, -U, and -P to control if and how the |
---|
| 1278 | smartctl exits if an error is detected in either a SMART data |
---|
| 1279 | structure checksum, or a SMART command returns an error. |
---|
| 1280 | - modified manual page to break options into slightly more logical |
---|
| 1281 | categories. |
---|
| 1282 | - reformatted 'usage' message order to agree with man page ordering |
---|
| 1283 | |
---|
| 1284 | * Mon Nov 4 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1285 | - smartctl: added new options -n and -N to force device to be ATA or SCSI |
---|
| 1286 | - smartctl: no longer dies silently if device path does not start/dev/X |
---|
| 1287 | - smartctl: now handles arbitrary device paths |
---|
| 1288 | - Added additional macros for manual and sbin paths in this SPEC file. |
---|
| 1289 | - Modified Makefile to install /etc/smartd.conf, but without overwriting existing config file |
---|
| 1290 | - Modified this specfile to do the same, and to not remove any files that it did not install |
---|
| 1291 | |
---|
| 1292 | * Thu Oct 30 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1293 | - Fixed typesetting error in man page smartd.8 |
---|
| 1294 | - Removed redundant variable (harmless) from smartd.c |
---|
| 1295 | |
---|
| 1296 | * Wed Oct 29 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1297 | - Added a new directive for the configuration file. If the word |
---|
| 1298 | DEVICESCAN appears before any non-commented material in the |
---|
| 1299 | configuration file, then the confi file will be ignored and the |
---|
| 1300 | devices wil be scanned. |
---|
| 1301 | - Note: it has now been confirmed that the code modifications between |
---|
| 1302 | 5.0.23 and 5.0.24 have eliminated the GCC 3.2 problems. Note that |
---|
| 1303 | there is a GCC bug howerver, see #8404 at |
---|
| 1304 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8404 |
---|
| 1305 | - Added new Directive for Configuration file: |
---|
| 1306 | -C <N> This sets the time in between disk checks to be <N> |
---|
| 1307 | seconds apart. Note that although you can give |
---|
| 1308 | this Directive multiple times on different lines of |
---|
| 1309 | the configuration file, only the final value that |
---|
| 1310 | is given has an effect, and applies to all the |
---|
| 1311 | disks. The default value of <N> is 1800 sec, and |
---|
| 1312 | the minimum allowed value is ten seconds. |
---|
| 1313 | - Problem wasn't the print format. F.L.W. Meunier <0@pervalidus.net> |
---|
| 1314 | sent me a gcc 3.2 build and I ran it under a debugger. The |
---|
| 1315 | problem seems to be with passing the very large (2x512+4) byte |
---|
| 1316 | data structures as arguments. I never liked this anyway; it was |
---|
| 1317 | inherited from smartsuite. So I've changed all the heavyweight |
---|
| 1318 | functions (ATA ones, anyone) to just passing pointers, not hideous |
---|
| 1319 | kB size structures on the stack. Hopefully this will now build OK |
---|
| 1320 | under gcc 3.2 with any sensible compilation options. |
---|
| 1321 | - Because of reported problems with GCC 3.2 compile, I have gone |
---|
| 1322 | thorough the code and explicitly changed all print format |
---|
| 1323 | parameters to correspond EXACTLY to int unless they have to be |
---|
| 1324 | promoted to long longs. To quote from the glibc bible: [From |
---|
| 1325 | GLIBC Manual: Since the prototype doesn't specify types for |
---|
| 1326 | optional arguments, in a call to a variadic function the default |
---|
| 1327 | argument promotions are performed on the optional argument |
---|
| 1328 | values. This means the objects of type char or short int (whether |
---|
| 1329 | signed or not) are promoted to either int or unsigned int, as |
---|
| 1330 | required. |
---|
| 1331 | - smartd, smartctl now warn if they find an attribute whose ID |
---|
| 1332 | number does not match between Data and Threshold structures. |
---|
| 1333 | - Fixed nasty bug which led to wrong number of arguments for a |
---|
| 1334 | varargs statement, with attendent stack corruption. Sheesh! |
---|
| 1335 | Have added script to CVS attic to help find such nasties in the |
---|
| 1336 | future. |
---|
| 1337 | |
---|
| 1338 | * Tue Oct 29 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1339 | - Eliminated some global variables out of header files and other |
---|
| 1340 | minor cleanup of smartd. |
---|
| 1341 | - Did some revision of the man page for smartd and made the usage |
---|
| 1342 | messages for Directives consistent. |
---|
| 1343 | - smartd: prints warning message when it gets SIGHUP, saying that it is |
---|
| 1344 | NOT re-reading the config file. |
---|
| 1345 | - smartctl: updated man page to say self-test commands -O,x,X,s,S,A |
---|
| 1346 | appear to be supported in the code. [I can't test these, can anyone |
---|
| 1347 | report?] |
---|
| 1348 | - smartctl: smartctl would previously print the LBA of a self-test |
---|
| 1349 | if it completed, and the LBA was not 0 or 0xff...f However |
---|
| 1350 | according to the specs this is not correct. According to the |
---|
| 1351 | specs, if the self-test completed without error then LBA is |
---|
| 1352 | undefined. This version fixes that. LBA value only printed if |
---|
| 1353 | self-test encountered an error. |
---|
| 1354 | - smartd has changed significantly. This is the first CVS checkin of |
---|
| 1355 | code that extends the options available for smartd. The following |
---|
| 1356 | options can be placed into the /etc/smartd.conf file, and control the |
---|
| 1357 | behavior of smartd. |
---|
| 1358 | - Configuration file Directives (following device name): |
---|
| 1359 | -A Device is an ATA device |
---|
| 1360 | -S Device is a SCSI device |
---|
| 1361 | -c Monitor SMART Health Status |
---|
| 1362 | -l Monitor SMART Error Log for changes |
---|
| 1363 | -L Monitor SMART Self-Test Log for new errors |
---|
| 1364 | -f Monitor for failure of any 'Usage' Attributes |
---|
| 1365 | -p Report changes in 'Prefailure' Attributes |
---|
| 1366 | -u Report changes in 'Usage' Attributes |
---|
| 1367 | -t Equivalent to -p and -u Directives |
---|
| 1368 | -a Equivalent to -c -l -L -f -t Directives |
---|
| 1369 | -i ID Ignore Attribute ID for -f Directive |
---|
| 1370 | -I ID Ignore Attribute ID for -p, -u or -t Directive |
---|
| 1371 | # Comment: text after a hash sign is ignored |
---|
| 1372 | \ Line continuation character |
---|
| 1373 | - cleaned up functions used for printing CVS IDs. Now use string |
---|
| 1374 | library, as it should be. |
---|
| 1375 | - modified length of device name string in smartd internal structure |
---|
| 1376 | to accomodate max length device name strings |
---|
| 1377 | - removed un-implemented (-e = Email notification) option from |
---|
| 1378 | command line arg list. We'll put it back on when implemeneted. |
---|
| 1379 | - smartd now logs serious (fatal) conditions in its operation at |
---|
| 1380 | loglevel LOG_CRIT rather than LOG_INFO before exiting with error. |
---|
| 1381 | - smartd used to open a file descriptor for each SMART enabled |
---|
| 1382 | - device, and then keep it open the entire time smartd was running. |
---|
| 1383 | This meant that some commands, like IOREADBLKPART did not work, |
---|
| 1384 | since the fd to the device was open. smartd now opens the device |
---|
| 1385 | when it needs to read values, then closes it. Also, if one time |
---|
| 1386 | around it can't open the device, it simply prints a warning |
---|
| 1387 | message but does not give up. Have eliminated the .fd field from |
---|
| 1388 | data structures -- no longer gets used. |
---|
| 1389 | - smartd now opens SCSI devices as well using O_RDONLY rather than |
---|
| 1390 | O_RDWR. If someone can no longer monitor a SCSI device that used |
---|
| 1391 | to be readable, this may well be the reason why. |
---|
| 1392 | - smartd never checked if the number of ata or scsi devices detected |
---|
| 1393 | was greater than the max number it could monitor. Now it does. |
---|
| 1394 | |
---|
| 1395 | * Fri Oct 25 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1396 | - changes to the Makefile and spec file so that if there are ungzipped manual |
---|
| 1397 | pages in place these will be removed so that the new gzipped man pages are |
---|
| 1398 | visible. |
---|
| 1399 | - smartd on startup now looks in the configuration file /etc/smartd.conf for |
---|
| 1400 | a list of devices which to include in its monitoring list. See man page |
---|
| 1401 | (man smartd) for syntax. If not found, try all ata and ide devices. |
---|
| 1402 | - smartd: close file descriptors of SCSI device if not SMART capable |
---|
| 1403 | Closes ALL file descriptors after forking to daemon. |
---|
| 1404 | - added new temperature attribute (231, temperature) |
---|
| 1405 | - smartd: now open ATA disks using O_RDONLY |
---|
| 1406 | |
---|
| 1407 | * Thu Oct 24 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1408 | - smartd now prints the name of a failed or changed attribute into logfile, |
---|
| 1409 | not just ID number |
---|
| 1410 | - Changed name of -p (print version) option to -V |
---|
| 1411 | - Minor change in philosophy: if a SMART command fails or the device |
---|
| 1412 | appears incapable of a SMART command that the user has asked for, |
---|
| 1413 | complain by printing an error message, but go ahead and try |
---|
| 1414 | anyway. Since unimplemented SMART commands should just return an |
---|
| 1415 | error but not cause disk problems, this should't cause any |
---|
| 1416 | difficulty. |
---|
| 1417 | - Added two new flags: q and Q. q is quiet mode - only print: For |
---|
| 1418 | the -l option, errors recorded in the SMART error log; For the -L |
---|
| 1419 | option, errors recorded in the device self-test log; For the -c |
---|
| 1420 | SMART "disk failing" status or device attributes (pre-failure or |
---|
| 1421 | usage) which failed either now or in the past; For the -v option |
---|
| 1422 | device attributes (pre-failure or usage) which failed either now |
---|
| 1423 | or in the past. Q is Very Quiet mode: Print no ouput. The only |
---|
| 1424 | way to learn about what was found is to use the exit status of |
---|
| 1425 | smartctl. |
---|
| 1426 | - smartctl now returns sensible values (bitmask). See smartctl.h |
---|
| 1427 | for the values, and the man page for documentation. |
---|
| 1428 | - The SMART status check now uses the correct ATA call. If failure |
---|
| 1429 | is detected we search through attributes to list the failed ones. |
---|
| 1430 | If the SMART status check shows GOOD, we then look to see if their |
---|
| 1431 | are any usage attributes or prefail attributes have failed at any |
---|
| 1432 | time. If so we print them. |
---|
| 1433 | - Modified function that prints vendor attributes to say if the |
---|
| 1434 | attribute has currently failed or has ever failed. |
---|
| 1435 | - -p option now prints out license info and CVS strings for all |
---|
| 1436 | modules in the code, nicely formatted. |
---|
| 1437 | - Previous versions of this code (and Smartsuite) only generate |
---|
| 1438 | SMART failure errors if the value of an attribute is below the |
---|
| 1439 | threshold and the prefailure bit is set. However the ATA Spec |
---|
| 1440 | (ATA4 <=Rev 4) says that it is a SMART failure if the value of an |
---|
| 1441 | attribute is LESS THAN OR EQUAL to the threshold and the |
---|
| 1442 | prefailure bit is set. This is now fixed in both smartctl and |
---|
| 1443 | smartd. Note that this is a troubled subject -- the original |
---|
| 1444 | SFF 8035i specification defining SMART was inconsistent about |
---|
| 1445 | this. One section says that Attribute==Threshold is pass, |
---|
| 1446 | and another section says it is fail. However the ATA specs are |
---|
| 1447 | consistent and say Attribute==Threshold is a fail. |
---|
| 1448 | - smartd did not print the correct value of any failing SMART attribute. It |
---|
| 1449 | printed the index in the attribute table, not the attribute |
---|
| 1450 | ID. This is fixed. |
---|
| 1451 | - when starting self-tests in captive mode ioctl returns EIO because |
---|
| 1452 | the drive has been busied out. Detect this and don't return an eror |
---|
| 1453 | in this case. Check this this is correct (or how to fix it?) |
---|
| 1454 | - fixed possible error in how to determine ATA standard support |
---|
| 1455 | for devices with no ATA minor revision number. |
---|
| 1456 | - device opened only in read-only not read-write mode. Don't need R/W |
---|
| 1457 | access to get smart data. Check this with Andre. |
---|
| 1458 | - smartctl now handles all possible choices of "multiple options" |
---|
| 1459 | gracefully. It goes through the following phases of operation, |
---|
| 1460 | in order: INFORMATION, ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS. |
---|
| 1461 | Documentation has bee updated to explain the different phases of |
---|
| 1462 | operation. Control flow through ataPrintMain() |
---|
| 1463 | simplified. |
---|
| 1464 | - If reading device identity information fails, try seeing if the info |
---|
| 1465 | can be accessed using a "DEVICE PACKET" command. This way we can |
---|
| 1466 | at least get device info. |
---|
| 1467 | - Modified Makefile to automatically tag CVS archive on issuance of |
---|
| 1468 | a release |
---|
| 1469 | - Modified drive detection so minor device ID code showing ATA-3 rev |
---|
| 1470 | 0 (no SMART) is known to not be SMART capable. |
---|
| 1471 | - Now verify the checksum of the device ID data structure, and of the |
---|
| 1472 | attributes threshold structure. Before neither of these |
---|
| 1473 | structures had their checksums verified. |
---|
| 1474 | - New behavior vis-a-vis checksums. If they are wrong, we log |
---|
| 1475 | warning messages to stdout, stderr, and syslog, but carry on |
---|
| 1476 | anyway. All functions now call a checksumwarning routine if the |
---|
| 1477 | checksum doesn't vanish as it should. |
---|
| 1478 | - Changed Read Hard Disk Identity function to get fresh info from |
---|
| 1479 | the disk on each call rather than to use the values that were read |
---|
| 1480 | upon boot-up into the BIOS. This is the biggest change in this |
---|
| 1481 | release. The ioctl(device, HDIO_GET_IDENTITY, buf ) call should |
---|
| 1482 | be avoided in such code. Note that if people get garbled strings |
---|
| 1483 | for the model, serial no and firmware versions of their drives, |
---|
| 1484 | then blame goes here (the BIOS does the byte swapping for you, |
---|
| 1485 | apparently!) |
---|
| 1486 | - Function ataSmartSupport now looks at correct bits in drive |
---|
| 1487 | identity structure to verify first that these bits are valid, |
---|
| 1488 | before using them. |
---|
| 1489 | - Function ataIsSmartEnabled() written which uses the Drive ID state |
---|
| 1490 | information to tell if SMART is enabled or not. We'll carry this |
---|
| 1491 | along for the moment without using it. |
---|
| 1492 | - Function ataDoesSmartWork() guaranteed to work if the device |
---|
| 1493 | supports SMART. |
---|
| 1494 | - Replace some numbers by #define MACROS |
---|
| 1495 | - Wrote Function TestTime to return test time associated with each |
---|
| 1496 | different type of test. |
---|
| 1497 | - Thinking of the future, have added a new function called |
---|
| 1498 | ataSmartStatus2(). Eventually when I understand how to use the |
---|
| 1499 | TASKFILE API and am sure that this works correctly, it will |
---|
| 1500 | replace ataSmartStatus(). This queries the drive directly to |
---|
| 1501 | see if the SMART status is OK, rather than comparing thresholds to |
---|
| 1502 | attribute values ourselves. But I need to get some drives that fail |
---|
| 1503 | their SMART status to check it. |
---|
| 1504 | |
---|
| 1505 | * Thu Oct 17 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1506 | - Removed extraneous space before some error message printing. |
---|
| 1507 | - Fixed some character buffers that were too short for contents. |
---|
| 1508 | Only used for unrecognized drives, so probably damage was minimal. |
---|
| 1509 | |
---|
| 1510 | * Wed Oct 16 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> |
---|
| 1511 | - Initial release. Code is derived from smartsuite, and is |
---|
| 1512 | intended to be compatible with the ATA/ATAPI-5 specifications. |
---|
| 1513 | - For IBM disks whose raw temp data includes three temps. print all |
---|
| 1514 | three |
---|
| 1515 | - print timestamps for error log to msec precision |
---|
| 1516 | - added -m option for Hitachi disks that store power on life in |
---|
| 1517 | minutes |
---|
| 1518 | - added -L option for printing self-test error logs |
---|
| 1519 | - in -l option, now print power on lifetime, so that one can see |
---|
| 1520 | when the error took place |
---|
| 1521 | - updated SMART structure definitions to ATA-5 spec |
---|
| 1522 | - added -p option |
---|
| 1523 | - added -f and -F options to enable/disable autosave threshold |
---|
| 1524 | parameters |
---|
| 1525 | |
---|