Reading from /sys/block/*/stat does not provide the disk major and minor
numbers (versus reading from /proc/diskstats). When saving the disk data
back to a temp state file, these empty values for the disk major and
minor numbers get turned into undef values on state restore.
On the line: `my ( $prev_time, %prev_diskstat ) = restore_state();`
`%prev_diskstat` will 'slurp' up all returned values from the function
call (converting the list into key value pairs) but if one of last
values is from the major or minor number (which will be undef), the key
(major or minor) will be sent but the undef value will not be
sent. Hence this results in an attempted hash assignment where one of
the key values pairs is missing a value and thus the 'Odd number of
elements in hash assignment ' warning is thrown.