--- a/atacmds.h
+++ b/atacmds.h
-@@ -134,7 +134,6 @@ enum {
+@@ -125,7 +125,6 @@ typedef enum {
// Needed parts of the ATA DRIVE IDENTIFY Structure. Those labeled
// word* are NOT used.
struct ata_identify_device {
unsigned short words000_009[10];
unsigned char serial_no[20];
-@@ -156,7 +155,6 @@ struct ata_identify_device {
+@@ -147,7 +146,6 @@ struct ata_identify_device {
ASSERT_SIZEOF_STRUCT(ata_identify_device, 512);
/* ata_smart_attribute is the vendor specific in SFF-8035 spec */
struct ata_smart_attribute {
unsigned char id;
// meaning of flag bits: see MACROS just below
-@@ -217,7 +215,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_attribute
+@@ -208,7 +206,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_attribute
// Format of data returned by SMART READ DATA
// Table 62 of T13/1699-D (ATA8-ACS) Revision 6a, September 2008
struct ata_smart_values {
unsigned short int revnumber;
struct ata_smart_attribute vendor_attributes [NUMBER_ATA_SMART_ATTRIBUTES];
-@@ -250,7 +247,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_values, 5
+@@ -241,7 +238,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_values, 5
*/
/* Vendor attribute of SMART Threshold (compare to ata_smart_attribute above) */
struct ata_smart_threshold_entry {
unsigned char id;
unsigned char threshold;
-@@ -261,7 +257,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_threshold
+@@ -252,7 +248,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_threshold
/* Format of Read SMART THreshold Command */
/* Compare to ata_smart_values above */
struct ata_smart_thresholds_pvt {
unsigned short int revnumber;
struct ata_smart_threshold_entry thres_entries[NUMBER_ATA_SMART_ATTRIBUTES];
-@@ -273,7 +268,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_threshold
+@@ -264,7 +259,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_threshold
// Table 42 of T13/1321D Rev 1 spec (Error Data Structure)
struct ata_smart_errorlog_error_struct {
unsigned char reserved;
unsigned char error_register;
-@@ -292,7 +286,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_errorlog_
+@@ -283,7 +277,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_errorlog_
// Table 41 of T13/1321D Rev 1 spec (Command Data Structure)
struct ata_smart_errorlog_command_struct {
unsigned char devicecontrolreg;
unsigned char featuresreg;
-@@ -308,7 +301,6 @@ struct ata_smart_errorlog_command_struct
+@@ -299,7 +292,6 @@ struct ata_smart_errorlog_command_struct
ASSERT_SIZEOF_STRUCT(ata_smart_errorlog_command_struct, 12);
// Table 40 of T13/1321D Rev 1 spec (Error log data structure)
struct ata_smart_errorlog_struct {
struct ata_smart_errorlog_command_struct commands[5];
struct ata_smart_errorlog_error_struct error_struct;
-@@ -317,7 +309,6 @@ struct ata_smart_errorlog_struct {
+@@ -308,7 +300,6 @@ struct ata_smart_errorlog_struct {
ASSERT_SIZEOF_STRUCT(ata_smart_errorlog_struct, 90);
// Table 39 of T13/1321D Rev 1 spec (SMART error log sector)
struct ata_smart_errorlog {
unsigned char revnumber;
unsigned char error_log_pointer;
-@@ -414,7 +405,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_exterrlog
+@@ -405,7 +396,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_exterrlog
// Table 45 of T13/1321D Rev 1 spec (Self-test log descriptor entry)
struct ata_smart_selftestlog_struct {
unsigned char selftestnumber; // Sector number register
unsigned char selfteststatus;
-@@ -427,7 +417,6 @@ struct ata_smart_selftestlog_struct {
+@@ -418,7 +408,6 @@ struct ata_smart_selftestlog_struct {
ASSERT_SIZEOF_STRUCT(ata_smart_selftestlog_struct, 24);
// Table 44 of T13/1321D Rev 1 spec (Self-test log data structure)
struct ata_smart_selftestlog {
unsigned short int revnumber;
struct ata_smart_selftestlog_struct selftest_struct[21];
-@@ -476,7 +465,6 @@ struct ata_smart_extselftestlog
+@@ -467,7 +456,6 @@ struct ata_smart_extselftestlog
ASSERT_SIZEOF_STRUCT(ata_smart_extselftestlog, 512);
// SMART LOG DIRECTORY Table 52 of T13/1532D Vol 1 Rev 1a
struct ata_smart_log_entry {
unsigned char numsectors;
unsigned char reserved;
-@@ -484,7 +472,6 @@ struct ata_smart_log_entry {
+@@ -475,7 +463,6 @@ struct ata_smart_log_entry {
#pragma pack()
ASSERT_SIZEOF_STRUCT(ata_smart_log_entry, 2);
struct ata_smart_log_directory {
unsigned short int logversion;
struct ata_smart_log_entry entry[255];
-@@ -494,7 +481,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_log_direc
+@@ -485,7 +472,6 @@ ASSERT_SIZEOF_STRUCT(ata_smart_log_direc
// SMART SELECTIVE SELF-TEST LOG Table 61 of T13/1532D Volume 1
// Revision 3
struct test_span {
uint64_t start;
uint64_t end;
-@@ -502,7 +488,6 @@ struct test_span {
+@@ -493,7 +479,6 @@ struct test_span {
#pragma pack()
ASSERT_SIZEOF_STRUCT(test_span, 16);
--- a/smartd.8.in
+++ b/smartd.8.in
-@@ -161,6 +161,10 @@ below).
+@@ -153,6 +153,10 @@ Directive in the configuration file; see
.SH
OPTIONS
+
.TP
.B \-A PREFIX, \-\-attributelog=PREFIX
- [ATA only] Writes \fBsmartd\fP attribute information (normalized and raw
+ Writes \fBsmartd\fP attribute information (normalized and raw
--- a/smartd.conf
+++ b/smartd.conf
-@@ -91,6 +91,12 @@ DEVICESCAN -n standby -m root -M exec /u
+@@ -92,6 +92,12 @@ DEVICESCAN -n standby -m root -M exec /u
# NOTE: On Windows, DEVICESCAN works also for 3ware controllers.
#/dev/hdc,0 -a -s L/../../2/01
#/dev/hdc,1 -a -s L/../../2/03
# self-tests Sundays between 1-2, 2-3, and 3-4 am.
--- a/smartd.conf.5.in
+++ b/smartd.conf.5.in
-@@ -132,10 +132,11 @@ Section below!
+@@ -97,10 +97,11 @@ Section below!
.B # This is an example smartd startup config file
.B # /usr/local/etc/smartd.conf for monitoring three
.B # ATA disks, three SCSI disks, six ATA disks
.B # device, four SATA disks connected to an Areca
.B # RAID controller, and one SATA disk.
.B #
-@@ -206,6 +207,13 @@ Section below!
- .B \ \ /dev/twl0 -d 3ware,1 -a -s L/../../7/02
+@@ -178,6 +179,13 @@ Section below!
+ .\" %ENDIF OS FreeBSD
.B #
.nf
+.B # Monitor 2 disks connected to the first HP SmartArray controller which
.B # Three SATA disks on a HighPoint RocketRAID controller.
.B # Start short self-tests daily between 1-2, 2-3, and
.B # 3-4 am.
-@@ -1439,6 +1447,9 @@ configuration file Directives might be:
+@@ -1497,6 +1505,9 @@ configuration file Directives might be:
If you want more frequent information, use:
.B -a.