diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG index d3ad4541cb22fc92dd286c20a8ba9f57ee4cadf9..aa21a4120352b2d586b3e197f028c5d5f4984174 100644 --- a/sm5/CHANGELOG +++ b/sm5/CHANGELOG @@ -1,6 +1,6 @@ CHANGELOG for smartmontools -$Id: CHANGELOG,v 1.38 2002/11/07 11:28:17 ballen4705 Exp $ +$Id: CHANGELOG,v 1.39 2002/11/07 19:07:20 ballen4705 Exp $ Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> @@ -25,6 +25,11 @@ NOTES FOR FUTURE RELEASES: see TODO file. CURRENT RELEASE (see VERSION file in this directory): + smartctl: Missing ANSI prototype in failuretest(); fixed. + + smartctl: Checksum warnings now printed on stdout, or are silent, + depending upon -q and -Q settings. + smartmontools-5.0.31 Changed Makefile so that the -V option does not reflect file state diff --git a/sm5/Makefile b/sm5/Makefile index 3b2cf3b94280d439029a209dc9856f6ae38a9bbe..ce85023367b1d98c3a2ee2535ae1e079a3ffe2a9 100644 --- a/sm5/Makefile +++ b/sm5/Makefile @@ -2,7 +2,7 @@ # # Home page: http://smartmontools.sourceforge.net # -# $Id: Makefile,v 1.34 2002/11/07 11:28:17 ballen4705 Exp $ +# $Id: Makefile,v 1.35 2002/11/07 19:07:20 ballen4705 Exp $ # # Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> # @@ -133,6 +133,4 @@ release: mv /usr/src/redhat/RPMS/i386/$(pkgname)*.rpm . mv /usr/src/redhat/SRPMS/$(pkgname)*rpm . rm -f /usr/src/redhat/SOURCES/$(pkgname).tar.gz - . cvs-script && cvs commit -m "release $(counter)" - . cvs-script && cvs tag -d "RELEASE_5_0_$(counter)" && cvs tag "RELEASE_5_0_$(counter)" echo `hostname` | grep -q ballen && echo $(newcounter) > VERSION && chown ballen.ballen * diff --git a/sm5/VERSION b/sm5/VERSION index e85087affded170efcbc6f9672a6fc671d839ed0..f5c89552bd3e62bfce023a230e90d141f7a46b2f 100644 --- a/sm5/VERSION +++ b/sm5/VERSION @@ -1 +1 @@ -31 +32 diff --git a/sm5/atacmds.c b/sm5/atacmds.c index 35cfbf364de3e3be78b072b61f75c3b0f82a7f5f..dba8516f5b918e1337a1e39cf3d5dc2dd9c0a8e3 100644 --- a/sm5/atacmds.c +++ b/sm5/atacmds.c @@ -29,7 +29,7 @@ #include <stdlib.h> #include "atacmds.h" -const char *CVSid1="$Id: atacmds.c,v 1.37 2002/11/07 11:00:55 ballen4705 Exp $" CVSID1; +const char *CVSid1="$Id: atacmds.c,v 1.38 2002/11/07 19:07:20 ballen4705 Exp $" CVSID1; // These Drive Identity tables are taken from hdparm 5.2, and are also // given in the ATA/ATAPI specs for the IDENTIFY DEVICE command. Note @@ -588,7 +588,9 @@ int TestTime(struct ata_smart_values *data,int testtype){ } } - +// This function tells you both about the ATA error log and the +// self-test error log capability. The bit is poorly documented in +// the ATA/ATAPI standard. int isSmartErrorLogCapable ( struct ata_smart_values *data){ return data->errorlog_capability & 0x01; } diff --git a/sm5/atacmds.cpp b/sm5/atacmds.cpp index 00c08b0c8bc9608ae1209aaca3a61f331fdaea29..61c7340f9b203737a6441cc528867d3fa472f92c 100644 --- a/sm5/atacmds.cpp +++ b/sm5/atacmds.cpp @@ -29,7 +29,7 @@ #include <stdlib.h> #include "atacmds.h" -const char *CVSid1="$Id: atacmds.cpp,v 1.37 2002/11/07 11:00:55 ballen4705 Exp $" CVSID1; +const char *CVSid1="$Id: atacmds.cpp,v 1.38 2002/11/07 19:07:20 ballen4705 Exp $" CVSID1; // These Drive Identity tables are taken from hdparm 5.2, and are also // given in the ATA/ATAPI specs for the IDENTIFY DEVICE command. Note @@ -588,7 +588,9 @@ int TestTime(struct ata_smart_values *data,int testtype){ } } - +// This function tells you both about the ATA error log and the +// self-test error log capability. The bit is poorly documented in +// the ATA/ATAPI standard. int isSmartErrorLogCapable ( struct ata_smart_values *data){ return data->errorlog_capability & 0x01; } diff --git a/sm5/ataprint.c b/sm5/ataprint.c index b995b470daef2edb683a7eb0e2f5d712fe87fc4f..7ff6c631bfb47345bbe80bab045c40208255e433 100644 --- a/sm5/ataprint.c +++ b/sm5/ataprint.c @@ -30,7 +30,7 @@ #include "smartctl.h" #include "extern.h" -const char *CVSid2="$Id: ataprint.c,v 1.42 2002/11/07 11:00:55 ballen4705 Exp $" +const char *CVSid2="$Id: ataprint.c,v 1.43 2002/11/07 19:07:20 ballen4705 Exp $" CVSID1 CVSID2 CVSID3 CVSID6; // for passing global control variables @@ -703,7 +703,7 @@ void ataPseudoCheckSmart ( struct ata_smart_values *data, // Compares failure type to policy in effect, and either exits or // simply returns to the calling routine. -void failuretest(type, returnvalue){ +void failuretest(int type, int returnvalue){ // If this is an error in an "optional" SMART command if (type==OPTIONAL_CMD){ @@ -732,12 +732,8 @@ void failuretest(type, returnvalue){ // abort on invalid checksums. void checksumwarning(const char *string){ pout("Warning! %s error: invalid SMART checksum.\n",string); - fprintf(stderr,"Warning! %s error: invalid SMART checksum.\n",string); - syslog(LOG_INFO,"Warning! %s error: invalid SMART checksum.\n",string); - if (con->checksumfail) exit(FAILSMART); - return; } @@ -950,7 +946,6 @@ int ataPrintMain (int fd){ if (ataReadErrorLog(fd, &smarterror)){ pout("Smartctl: SMART Errorlog Read Failed\n"); failuretest(OPTIONAL_CMD, returnval|=FAILSMART); - } else { // quiet mode is turned on inside ataPrintSmartErrorLog() diff --git a/sm5/ataprint.cpp b/sm5/ataprint.cpp index 6f3fc601d7a7f722ad532b62384a1478850dcf0f..a83265312a588175aacb79cd4303e7a56ca70fe4 100644 --- a/sm5/ataprint.cpp +++ b/sm5/ataprint.cpp @@ -30,7 +30,7 @@ #include "smartctl.h" #include "extern.h" -const char *CVSid2="$Id: ataprint.cpp,v 1.42 2002/11/07 11:00:55 ballen4705 Exp $" +const char *CVSid2="$Id: ataprint.cpp,v 1.43 2002/11/07 19:07:20 ballen4705 Exp $" CVSID1 CVSID2 CVSID3 CVSID6; // for passing global control variables @@ -703,7 +703,7 @@ void ataPseudoCheckSmart ( struct ata_smart_values *data, // Compares failure type to policy in effect, and either exits or // simply returns to the calling routine. -void failuretest(type, returnvalue){ +void failuretest(int type, int returnvalue){ // If this is an error in an "optional" SMART command if (type==OPTIONAL_CMD){ @@ -732,12 +732,8 @@ void failuretest(type, returnvalue){ // abort on invalid checksums. void checksumwarning(const char *string){ pout("Warning! %s error: invalid SMART checksum.\n",string); - fprintf(stderr,"Warning! %s error: invalid SMART checksum.\n",string); - syslog(LOG_INFO,"Warning! %s error: invalid SMART checksum.\n",string); - if (con->checksumfail) exit(FAILSMART); - return; } @@ -950,7 +946,6 @@ int ataPrintMain (int fd){ if (ataReadErrorLog(fd, &smarterror)){ pout("Smartctl: SMART Errorlog Read Failed\n"); failuretest(OPTIONAL_CMD, returnval|=FAILSMART); - } else { // quiet mode is turned on inside ataPrintSmartErrorLog() diff --git a/sm5/smartctl.c b/sm5/smartctl.c index e7cc4b9439e8c10e46c1f2c6aa1e21624885d849..0a21f1f928253b60f63678be94aebc58b9b9fdf4 100644 --- a/sm5/smartctl.c +++ b/sm5/smartctl.c @@ -39,7 +39,7 @@ #include "extern.h" extern const char *CVSid1, *CVSid2, *CVSid3, *CVSid4; -const char* CVSid5="$Id: smartctl.c,v 1.26 2002/11/07 11:00:56 ballen4705 Exp $" +const char* CVSid5="$Id: smartctl.c,v 1.27 2002/11/07 19:07:20 ballen4705 Exp $" CVSID1 CVSID2 CVSID3 CVSID4 CVSID5 CVSID6; // This is a block containing all the "control variables". We declare @@ -325,8 +325,7 @@ int main (int argc, char **argv){ } // open device - read-only mode is enough to issue needed commands - fd = open(device=argv[2], O_RDONLY); - + fd = open(device=argv[2], O_RDONLY); if (fd<0) { perror("Smartctl device open failed"); return FAILDEV; diff --git a/sm5/smartctl.cpp b/sm5/smartctl.cpp index b299655a893c200baf63eee26ba3a7b5c5710506..64e4948a862af615da01843e7ac864b92fc84e97 100644 --- a/sm5/smartctl.cpp +++ b/sm5/smartctl.cpp @@ -39,7 +39,7 @@ #include "extern.h" extern const char *CVSid1, *CVSid2, *CVSid3, *CVSid4; -const char* CVSid5="$Id: smartctl.cpp,v 1.26 2002/11/07 11:00:56 ballen4705 Exp $" +const char* CVSid5="$Id: smartctl.cpp,v 1.27 2002/11/07 19:07:20 ballen4705 Exp $" CVSID1 CVSID2 CVSID3 CVSID4 CVSID5 CVSID6; // This is a block containing all the "control variables". We declare @@ -325,8 +325,7 @@ int main (int argc, char **argv){ } // open device - read-only mode is enough to issue needed commands - fd = open(device=argv[2], O_RDONLY); - + fd = open(device=argv[2], O_RDONLY); if (fd<0) { perror("Smartctl device open failed"); return FAILDEV; diff --git a/sm5/smartctl.h b/sm5/smartctl.h index 3b18efef98921638ad773338297d5934c6e4398f..5a59a2ef7342c464eaf64d75b09a6dc15a848abd 100644 --- a/sm5/smartctl.h +++ b/sm5/smartctl.h @@ -26,7 +26,7 @@ #define __SMARTCTL_H_ #ifndef CVSID6 -#define CVSID6 "$Id: smartctl.h,v 1.12 2002/11/07 11:00:56 ballen4705 Exp $\n" +#define CVSID6 "$Id: smartctl.h,v 1.13 2002/11/07 19:07:20 ballen4705 Exp $\n" #endif /* Defines for command line options */ @@ -55,7 +55,7 @@ #define VERYQUIETMODE 'Q' #define NOTATADEVICE 'N' #define NOTSCSIDEVICE 'n' -#define EXITCHECKSUMERROR 'W' +#define EXITCHECKSUMERROR 'W' #define ULTRACONSERVATIVE 'U' #define PERMISSIVE 'P'