From 0e8b4a9559e3a2fdf4235c06ff5cadf44ad5e37c Mon Sep 17 00:00:00 2001 From: ballen4705 <ballen4705@4ea69e1a-61f1-4043-bf83-b5c94c648137> Date: Tue, 15 Oct 2002 14:24:27 +0000 Subject: [PATCH] Fixes to documentation. Including home page path in all files git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@54 4ea69e1a-61f1-4043-bf83-b5c94c648137 --- sm5/CHANGELOG | 41 ++++++++++++++++++++++++++++++++++++++++- sm5/Makefile | 6 ++++-- sm5/TODO | 22 ++++++++++++++++++++-- sm5/atacmds.c | 4 +++- sm5/atacmds.cpp | 4 +++- sm5/atacmds.h | 4 +++- sm5/ataprint.c | 4 +++- sm5/ataprint.cpp | 4 +++- sm5/ataprint.h | 4 +++- sm5/extern.h | 4 +++- sm5/scsicmds.c | 4 +++- sm5/scsicmds.cpp | 4 +++- sm5/scsicmds.h | 4 +++- sm5/scsiprint.c | 4 +++- sm5/scsiprint.cpp | 4 +++- sm5/scsiprint.h | 4 +++- sm5/smartctl.c | 6 ++++-- sm5/smartctl.cpp | 6 ++++-- sm5/smartctl.h | 4 +++- sm5/smartd.c | 6 ++++-- sm5/smartd.cpp | 6 ++++-- sm5/smartd.h | 4 +++- sm5/smartmontools.spec | 42 +++++++++++++++++++++++++++++++++--------- 23 files changed, 158 insertions(+), 37 deletions(-) diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG index 15247298b..3a64b4f19 100644 --- a/sm5/CHANGELOG +++ b/sm5/CHANGELOG @@ -1,9 +1,11 @@ CHANGELOG for smartmontools -$Id: CHANGELOG,v 1.4 2002/10/14 15:25:55 ballen4705 Exp $ +$Id: CHANGELOG,v 1.5 2002/10/15 14:24:26 ballen4705 Exp $ Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> +Home page of code is: http://smartmontools.sourceforge.net + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later @@ -17,3 +19,40 @@ This code was originally developed as a Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory (now part of the Storage Systems Research Center), Jack Baskin School of Engineering, University of California, Santa Cruz. http://ssrc.soe.ucsc.edu/ + +smartmontools-5.0-8: + + For IBM disks whose raw temp data includes three temps. print all + three + + print timestamps for error log to msec precision + + added -m option for Hitachi disks that store power on life in + minutes + + added -L option for printing self-test error logs + + in -l option, now print power on lifetime, so that one can see + when the error took place + + updated SMART structure definitions to ATA-5 spec + + added -p option + + added -f and -F options to enable/disable autosave threshold + parameters + + changed argv parsing to use getops -- elminate buffer overflow + vulnerability + + expanded and corrected documentation + + fixed problem with smartd. It did not actually call + ataSmartEnable()! Since the argument was left out, the test + always suceeded because it evaluated to a pointer to the function. + + smartd: closed open file descriptors if device does not support + smart. Note: this still needs to be fixed for SCSI devices + + +smartmontools-5.0-0 STARTED with smartsuite-2.1-2 diff --git a/sm5/Makefile b/sm5/Makefile index baf563bb3..31a74e305 100644 --- a/sm5/Makefile +++ b/sm5/Makefile @@ -1,6 +1,8 @@ # Makefile for smartmontools # -# $Id: Makefile,v 1.16 2002/10/14 15:25:58 ballen4705 Exp $ +# Home page: http://smartmontools.sourceforge.net +# +# $Id: Makefile,v 1.17 2002/10/15 14:24:26 ballen4705 Exp $ # # Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> # @@ -89,6 +91,6 @@ release: $(releasefiles) mv /usr/src/redhat/RPMS/i386/$(pkgname)*.rpm . mv /usr/src/redhat/SRPMS/$(pkgname)*rpm . rm -f /usr/src/redhat/SOURCES/$(pkgname).tar.gz - echo $(newcounter) > VERSION + echo `hostname` | grep -q ballen && echo $(newcounter) > VERSION diff --git a/sm5/TODO b/sm5/TODO index ef2cbae93..364078c39 100644 --- a/sm5/TODO +++ b/sm5/TODO @@ -1,8 +1,10 @@ TODO list for smartmontools: +Home page of code is: http://smartmontools.sourceforge.net + Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> -$Id: TODO,v 1.6 2002/10/14 15:26:02 ballen4705 Exp $ +$Id: TODO,v 1.7 2002/10/15 14:24:26 ballen4705 Exp $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -25,9 +27,25 @@ Test with SCSI devices (I can't do it -- Bruce) Extensions ---------- -Produce version for ATA/ATAPI-6 +Produce version for ATA/ATAPI-6 (support for extended error logs) + Produce version for ATA/ATAPI-7 Modifications ------------- Command line option to specify devices to look for in smartd startup + +Print flags meanings in Vendor Attribute list -- not hex value + +When actual attribute(s) less than threshold, print these clearly (highlighted) + +Also, have test to see if vendor attributes are under threshold even if +prefailure bit NOT set (old age, for example). + +Fixes +----- +int ataSmartStatus (int device ) is broken -- see comments in code. + +SCSI code in smartd leaves file descriptors open if SMART not supported.. + +Fix lots of syntax like if (a != 0) diff --git a/sm5/atacmds.c b/sm5/atacmds.c index 84d2bdcfc..3e5693be8 100644 --- a/sm5/atacmds.c +++ b/sm5/atacmds.c @@ -1,6 +1,8 @@ -// $Id: atacmds.c,v 1.7 2002/10/15 11:19:46 ballen4705 Exp $ +// $Id: atacmds.c,v 1.8 2002/10/15 14:24:26 ballen4705 Exp $ /* * atacmds.c + * + * Home page of code is: http://smartmontools.sourceforge.net * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> diff --git a/sm5/atacmds.cpp b/sm5/atacmds.cpp index 48c4110fe..16f5cf9bf 100644 --- a/sm5/atacmds.cpp +++ b/sm5/atacmds.cpp @@ -1,6 +1,8 @@ -// $Id: atacmds.cpp,v 1.7 2002/10/15 11:19:46 ballen4705 Exp $ +// $Id: atacmds.cpp,v 1.8 2002/10/15 14:24:26 ballen4705 Exp $ /* * atacmds.c + * + * Home page of code is: http://smartmontools.sourceforge.net * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> diff --git a/sm5/atacmds.h b/sm5/atacmds.h index b2335d7f0..40acfcea4 100644 --- a/sm5/atacmds.h +++ b/sm5/atacmds.h @@ -1,7 +1,9 @@ -// $Id: atacmds.h,v 1.11 2002/10/14 15:26:08 ballen4705 Exp $ +// $Id: atacmds.h,v 1.12 2002/10/15 14:24:26 ballen4705 Exp $ /* * atacmds.h * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/ataprint.c b/sm5/ataprint.c index 41820149e..3932c76e0 100644 --- a/sm5/ataprint.c +++ b/sm5/ataprint.c @@ -1,7 +1,9 @@ -// $Id: ataprint.c,v 1.9 2002/10/14 15:26:10 ballen4705 Exp $ +// $Id: ataprint.c,v 1.10 2002/10/15 14:24:26 ballen4705 Exp $ /* * ataprint.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/ataprint.cpp b/sm5/ataprint.cpp index 0cc661f35..0979cd77b 100644 --- a/sm5/ataprint.cpp +++ b/sm5/ataprint.cpp @@ -1,7 +1,9 @@ -// $Id: ataprint.cpp,v 1.9 2002/10/14 15:26:10 ballen4705 Exp $ +// $Id: ataprint.cpp,v 1.10 2002/10/15 14:24:26 ballen4705 Exp $ /* * ataprint.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/ataprint.h b/sm5/ataprint.h index 0f66dbc79..bc3f0ebb0 100644 --- a/sm5/ataprint.h +++ b/sm5/ataprint.h @@ -1,8 +1,10 @@ -// $Id: ataprint.h,v 1.4 2002/10/14 15:26:15 ballen4705 Exp $ +// $Id: ataprint.h,v 1.5 2002/10/15 14:24:27 ballen4705 Exp $ /* * ataprint.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/extern.h b/sm5/extern.h index 13c0c8cd7..ce81cd2ba 100644 --- a/sm5/extern.h +++ b/sm5/extern.h @@ -1,7 +1,9 @@ -// $Id: extern.h,v 1.4 2002/10/14 15:26:16 ballen4705 Exp $ +// $Id: extern.h,v 1.5 2002/10/15 14:24:27 ballen4705 Exp $ /* * extern.h * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/scsicmds.c b/sm5/scsicmds.c index 52ce62f7e..23fe5c8df 100644 --- a/sm5/scsicmds.c +++ b/sm5/scsicmds.c @@ -1,8 +1,10 @@ -// $Id: scsicmds.c,v 1.6 2002/10/14 15:26:18 ballen4705 Exp $ +// $Id: scsicmds.c,v 1.7 2002/10/15 14:24:27 ballen4705 Exp $ /* * scsicmds.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/scsicmds.cpp b/sm5/scsicmds.cpp index 83953c754..9a0757e16 100644 --- a/sm5/scsicmds.cpp +++ b/sm5/scsicmds.cpp @@ -1,8 +1,10 @@ -// $Id: scsicmds.cpp,v 1.6 2002/10/14 15:26:18 ballen4705 Exp $ +// $Id: scsicmds.cpp,v 1.7 2002/10/15 14:24:27 ballen4705 Exp $ /* * scsicmds.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/scsicmds.h b/sm5/scsicmds.h index 5d1ae01ed..5d0b1051e 100644 --- a/sm5/scsicmds.h +++ b/sm5/scsicmds.h @@ -1,7 +1,9 @@ -// $Id: scsicmds.h,v 1.4 2002/10/14 15:26:21 ballen4705 Exp $ +// $Id: scsicmds.h,v 1.5 2002/10/15 14:24:27 ballen4705 Exp $ /* * scsicmds.h * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/scsiprint.c b/sm5/scsiprint.c index cc7676747..140285eae 100644 --- a/sm5/scsiprint.c +++ b/sm5/scsiprint.c @@ -1,7 +1,9 @@ -// $Id: scsiprint.c,v 1.5 2002/10/14 15:26:23 ballen4705 Exp $ +// $Id: scsiprint.c,v 1.6 2002/10/15 14:24:27 ballen4705 Exp $ /* * scsiprint.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/scsiprint.cpp b/sm5/scsiprint.cpp index cab7e2383..fb8bc0099 100644 --- a/sm5/scsiprint.cpp +++ b/sm5/scsiprint.cpp @@ -1,7 +1,9 @@ -// $Id: scsiprint.cpp,v 1.5 2002/10/14 15:26:23 ballen4705 Exp $ +// $Id: scsiprint.cpp,v 1.6 2002/10/15 14:24:27 ballen4705 Exp $ /* * scsiprint.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/scsiprint.h b/sm5/scsiprint.h index 3d6d8441f..d2625f4eb 100644 --- a/sm5/scsiprint.h +++ b/sm5/scsiprint.h @@ -1,7 +1,9 @@ -// $Id: scsiprint.h,v 1.4 2002/10/14 15:26:24 ballen4705 Exp $ +// $Id: scsiprint.h,v 1.5 2002/10/15 14:24:27 ballen4705 Exp $ /* * scsiprint.h * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/smartctl.c b/sm5/smartctl.c index 34a6a09e7..f90a04291 100644 --- a/sm5/smartctl.c +++ b/sm5/smartctl.c @@ -1,7 +1,9 @@ -// $Id: smartctl.c,v 1.8 2002/10/14 15:26:28 ballen4705 Exp $ +// $Id: smartctl.c,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $ /* * smartctl.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * @@ -221,7 +223,7 @@ int main (int argc, char **argv){ printf("is free software, and you are welcome to redistribute it\n"); printf("under the terms of the GNU General Public License Version 2.\n"); printf("See http://www.gnu.org for further details.\n\n"); - printf("CVS version ID %s\n","$Id: smartctl.c,v 1.8 2002/10/14 15:26:28 ballen4705 Exp $"); + printf("CVS version ID %s\n","$Id: smartctl.c,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $"); exit(0); } diff --git a/sm5/smartctl.cpp b/sm5/smartctl.cpp index e2e46ebd9..aed6cba2b 100644 --- a/sm5/smartctl.cpp +++ b/sm5/smartctl.cpp @@ -1,7 +1,9 @@ -// $Id: smartctl.cpp,v 1.8 2002/10/14 15:26:28 ballen4705 Exp $ +// $Id: smartctl.cpp,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $ /* * smartctl.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * @@ -221,7 +223,7 @@ int main (int argc, char **argv){ printf("is free software, and you are welcome to redistribute it\n"); printf("under the terms of the GNU General Public License Version 2.\n"); printf("See http://www.gnu.org for further details.\n\n"); - printf("CVS version ID %s\n","$Id: smartctl.cpp,v 1.8 2002/10/14 15:26:28 ballen4705 Exp $"); + printf("CVS version ID %s\n","$Id: smartctl.cpp,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $"); exit(0); } diff --git a/sm5/smartctl.h b/sm5/smartctl.h index 8e3590f2f..93586f0c8 100644 --- a/sm5/smartctl.h +++ b/sm5/smartctl.h @@ -1,7 +1,9 @@ -// $Id: smartctl.h,v 1.5 2002/10/14 15:26:29 ballen4705 Exp $ +// $Id: smartctl.h,v 1.6 2002/10/15 14:24:27 ballen4705 Exp $ /* * smartctl.h * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/smartd.c b/sm5/smartd.c index 70a547e85..900cfe55d 100644 --- a/sm5/smartd.c +++ b/sm5/smartd.c @@ -1,7 +1,9 @@ -// $Id: smartd.c,v 1.8 2002/10/14 15:26:30 ballen4705 Exp $ +// $Id: smartd.c,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $ /* * smartd.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * @@ -270,7 +272,7 @@ char copyleftstring[]= "is free software, and you are welcome to redistribute it\n" "under the terms of the GNU General Public License Version 2.\n" "See http://www.gnu.org for further details.\n\n" -"CVS Version ID $Id: smartd.c,v 1.8 2002/10/14 15:26:30 ballen4705 Exp $\n"; +"CVS Version ID $Id: smartd.c,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $\n"; const char opts[] = { DEBUGMODE, EMAILNOTIFICATION, PRINTCOPYLEFT,'\0' }; diff --git a/sm5/smartd.cpp b/sm5/smartd.cpp index ef3aa912d..d070985ca 100644 --- a/sm5/smartd.cpp +++ b/sm5/smartd.cpp @@ -1,7 +1,9 @@ -// $Id: smartd.cpp,v 1.8 2002/10/14 15:26:30 ballen4705 Exp $ +// $Id: smartd.cpp,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $ /* * smartd.c * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * @@ -270,7 +272,7 @@ char copyleftstring[]= "is free software, and you are welcome to redistribute it\n" "under the terms of the GNU General Public License Version 2.\n" "See http://www.gnu.org for further details.\n\n" -"CVS Version ID $Id: smartd.cpp,v 1.8 2002/10/14 15:26:30 ballen4705 Exp $\n"; +"CVS Version ID $Id: smartd.cpp,v 1.9 2002/10/15 14:24:27 ballen4705 Exp $\n"; const char opts[] = { DEBUGMODE, EMAILNOTIFICATION, PRINTCOPYLEFT,'\0' }; diff --git a/sm5/smartd.h b/sm5/smartd.h index a959f3293..88de27053 100644 --- a/sm5/smartd.h +++ b/sm5/smartd.h @@ -1,7 +1,9 @@ -// $Id: smartd.h,v 1.4 2002/10/14 15:26:32 ballen4705 Exp $ +// $Id: smartd.h,v 1.5 2002/10/15 14:24:27 ballen4705 Exp $ /* * smartd.h * + * Home page of code is: http://smartmontools.sourceforge.net + * * Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * diff --git a/sm5/smartmontools.spec b/sm5/smartmontools.spec index fb15aa7a8..9d2d39353 100644 --- a/sm5/smartmontools.spec +++ b/sm5/smartmontools.spec @@ -1,10 +1,10 @@ -Release: 8 +Release: 9 Summary: SMARTmontools - for monitoring S.M.A.R.T. disks and devices Name: smartmontools Version: 5.0 License: GPL Group: Applications/System -Source0: http://prdownloads.sourceforge.net/%{name}-%{version}.tar.gz +Source0: http://telia.dl.sourceforge.net/sourceforge/smartmontools/smartmontools-%{version}-%{release}.tar.gz URL: http://smartmontools.sourceforge.net/ Prereq: /sbin/chkconfig BuildRoot: %{_builddir}/%{name}-%{version}-root @@ -13,12 +13,31 @@ Obsoletes: smartd Obsoletes: ucsc-smartsuite Obsoletes: smartsuite -%description -SMARTmontools controls and monitors storage devices using the -Self-Monitoring, Analysis and Reporting Technology System (S.M.A.R.T.) -build into ATA and SCSI Hard Drives. This is used to check the -reliability of the hard drive and predict drive failures. The suite -contents two utilities. The first, smartctl, is a command line +# Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> +# Home page: http://smartmontools.sourceforge.net +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# You should have received a copy of the GNU General Public License (for +# example COPYING); if not, write to the Free Software Foundation, Inc., 675 +# Mass Ave, Cambridge, MA 02139, USA. +# +# This code was originally developed as a Senior Thesis by Michael Cornwell +# at the Concurrent Systems Laboratory (now part of the Storage Systems +# Research Center), Jack Baskin School of Engineering, University of +# California, Santa Cruz. http://ssrc.soe.ucsc.edu/ + + +%description +SMARTmontools controls and monitors storage devices using +the Self-Monitoring, Analysis and Reporting Technology System +(S.M.A.R.T.) built into ATA and SCSI Hard Drives. This is used to +check the reliability of the hard drive and to predict drive +failures. The suite is derived from the smartsuite package, and +contains two utilities. The first, smartctl, is a command line utility designed to perform simple S.M.A.R.T. tasks. The second, smartd, is a daemon that periodically monitors smart status and reports errors to syslog. The package is compatible with the @@ -26,7 +45,12 @@ ATA/ATAPI-5 specification. Future releases will be compatible with the ATA/ATAPI-6 andATA/ATAPI-7 specifications. The package is intended to incorporate as much "vendor specific" and "reserved" information as possible about disk drives. man smartctl and man -smartd will provide more information. +smartd will provide more information. This RPM file is compatible with +all RedHat releases back to at least 6.2 and should work OK on any +modern linux distribution. The most recent versions of this package +and additional information can be found at the URL: +http://smartmontools.sourceforge.net/ + # The following sections are executed by the SRPM file %prep -- GitLab