Changelog
This project history is based on the version notes embedded in the disk-burnin.sh
script.
May 30, 2022 (KY)
- Added
-b
&-c
options to control respectivebadblocks
options.
October 5, 2020 (KN)
- Added
-x
option to control thebadblocks -e
option, allowing extended testing. - Added
smartctl
to the list of dependencies. - Changed disk type detection so that we assume all drives are mechanical drives unless they explicitly return 'Solid State Drive' for Rotational Rate.
- Removed datestamp from every line of log output, only emitting it in log headers.
- Minor reformatting.
September 9, 2020 (MS)
- Added
.editorconfig
to streamline editor behavior for developers. - Removed dependencies on
pcregrep
andtr
. - Added documentation to functions and complex statements.
- Reduced code duplication, simplified and decoupled code where possible.
- Improved portability and resiliency.
- Checked availability of dependencies during runtime.
- Checked for root privileges during runtime.
- Added option parsing, most notably
(-h)
elp and-f
for non-dry-run mode. - Added
dry_run_wrapper()
function. - Added disk type detection to skip
badblocks
for non-mechanical drives.
August 19, 2020 (KN)
- Changed
DRY_RUN
value so that dry runs are no longer the default setting. - Changed
badblocks
call to exit immediately on first error. - Set logging directory to current working directory using
pwd
command. - Reduced default tests to run:
- Short SMART test
badblocks
- Extended SMART test
June 8, 2017 (KN)
- Modified parsing of short and extended test durations to accommodate the values returned by larger drives; we needed to strip out the '(' and ')' characters surrounding the integer value in order to fetch it reliably.
May 12, 2017 (KN)
- Added code to poll the disk and check for completed self-tests. As noted above, some disks don't report accurate values for the short and extended self-test intervals, sometimes by a significant amount. The original approach using 'fudge' factors wasn't reliable and the script would finish even though the SMART self-tests had not completed. The new polling code helps insure that this doesn't happen.
- Fixed code to work around annoying differences between
sed
's behavior on Linux and FreeBSD.
April 8, 2017 (KN)
- Added minimum test durations because some devices don't return accurate values.
- Added code to clean up the log file, removing copyright notices, etc.
- No longer echo 'smartctl -t' output to log file as it imparts no useful information.
- Emit test results after tests instead of full 'smartctl -a' output.
- Emit full 'smartctl -x' output at the end of all testing.
- Minor changes to log output and formatting.
March 2017 (Keith Nash)
- Initial version written.