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 | |
---|