Drive does not do “selftest” when using “smartctl?”

0

I have one drive which does not want to do the selftest:

# smartctl -t long /dev/ada3
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.2-RELEASE-p3 amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 379 minutes for test to complete.
Test will complete after Thu Apr  2 07:25:59 2015

Use smartctl -X to abort test.
#

Now I would expect to see a message “routine in progress” in the status. Not only would I expect this but this is also how it works for all other devices!

However, instead I get “Aborted by host”:

# smartctl -l selftest /dev/ada3
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.2-RELEASE-p3 amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Aborted by host               90%      1068         -
# 2  Extended offline    Aborted by host               90%       761         -

On the other hand, if I re-run smartctl -t long I get the message that one check is already in progress and I should wait. I can successfully cancel it with -X and restart it with -t long and I get another line in the output with “Aborted by host.”

What’s going on here?

Note that even if the test may be actually performed (although the "90% remaining" is always stuck!) I need the message output "routine in progress" because I start smartctl from a script and I need to wait for the operation to be finished...

divB

Posted 2015-04-01T23:14:51.113

Reputation: 450

Drives typically offer three selftests. You only mention the "long" test. What about the quick and short? – sawdust – 2015-04-01T23:25:20.843

Good catch! It seems that the test just does not appear in "-l selftest" while running. First, another "Aborted by user" line is added only after I execute "smartctl -X" (cancel). Second, for "-t short" the test does not show up in "-l selftest" while running either! However, after it is completed I see the selftest with "Short offline Completed without error". In any case, this is problematic because it breaks my script (I need to know when test self test is running) – divB – 2015-04-01T23:32:33.460

Answers

0

If your script wants to see if the test is done, you shouldn't be looking at the log, but rather at the self-test execution status ( in the output of smartctl -a ).

psusi

Posted 2015-04-01T23:14:51.113

Reputation: 7 195