TODO list for smartmontools:

$Id: TODO,v 1.40 2003/11/28 13:50:27 ballen4705 Exp $

SATA devices
------------
Currently work OK if you use the standard IDE drivers in
drivers/ide. If you use the new libata drivers, it won't work
correctly because libata doesn't yet support the needed
ATA-passthrough ioctl() calls. Jeff Garzik, the libata developer, says
that this support will be added in the future. When this happens, add
support to smartmontools for a new SATA/libata device type '-d sata'.

USB devices
-----------
Some USB devices can hang smartctl or smartd.  This is because these
devices fail to comply with SCSI specifications for their packet
command sets.  Work on improving the detection and bail-out procedures
for these flawed devices, so that the user sees an informative error
message and smartd/smartctl don't hang.

ATA-6/7
-------
Support selective self-tests (requires an HDIO_DRIVE_TASKFILE ioctl()
interface).

Support extended error logs

Support extended self-test logs

smartctl/smartd
---------------
Add additional -v options (corresponding to comments in
atacmds.c:ataPrintSmartAttribName().

Add interface to Megaraid ATA RAID controllers (Erik)

smartctl: 
---------
Perhaps modify the -q option (quiet mode) so that it only warns of ATA
errors if they have (say) taken place in the last 168 hours (week).

Parse and print additional Attribute flag meanings (IBM ones, eg
performance etc).

smartd:
-------
Add a scheduled self-test Directive.  This should either steal code
from gcrond so that we can use cron syntax, or implement something
similar (but simple!).

Perhaps change <nomailer> special argument to -m to have also
<nomailer_fork> which would actually work with -M exec to run the
executable/script in the background rather than in the foreground.
But let's wait for someone to request this. At that point we should
probably use fork/exec rather than system().

Perhaps change smartd to look in /proc/ide and /proc/scsi to see what
exists? If something doesn't exit then don't try to open it?  This
should probably be the default option if there is no configuration
file.

Add ability to monitor "worst" value from attributes (sometimes it
gets larger!) and to monitor the threshold value (sometimes it
changes!).

Add command line option that scans devices then WRITES
/etc/smartd.conf, perhaps as /etc/smartd.conf.output, just for devices
that can be monitored.

Solaris
-------
Try and integrate ATA support.  See
http://card-captor.dyndns.org/pub/solaris-smart/ for smartmontools
5.1-18 patched with solaris ATA support (Keiji).

Figure out a way to get man pages into sections 1m (smartctl, smartd)
and 4 (smartd.conf).  This requires a change to Makefile.am (Guido).

FreeBSD
-------
Get interface for 3ware Escalade controllers working (Eduard).



Packaging
---------
Modify autogen.sh so that it puts the date it is run into
configure.in/Makefile.am:
    smartmontools_date=`date -u +"%Y/%m/%d"`
Then use THIS date to timestamp the manual pages and also as part of
the output of smartd -V and smartctl -V.

