Olaf Faaland d2160d0538 Record skipped MMP writes in multihost_history
Once per pass through the MMP thread's loop, the vdev tree is walked to
find a suitable leaf to write the next MMP block to.  If no such leaf is
found, the thread sleeps for a while and resumes at the top of the loop.

Add an entry to multihost_history when no leaf can be found, and record
the reason in the error column.  The error code for such entries is a
bitfield, displayed in hex:

0x1  At least one vdev (interior or leaf) was not writeable.
0x2  At least one writeable leaf vdev was found, but it had a pending
MMP write.

timestamp = the time in seconds since the epoch when no leaf could be
found originally.

duration = the time (in ns) during which no MMP block was written for
this reason.  This does not include the preceeding inter-write period
nor the following inter-write period.

vdev_guid = the number of sequential cycles of the MMP thread looop when
this occurred.

Sample output, truncated to fit:

For records of skipped MMP writes the right-most column, vdev_path, is
reported as "-".

id   txg  timestamp   error  duration    mmp_delay  vdev_guid     ...
936  11   1520036441  0      146264      891422313  1740883117838 ...
937  11   1520036441  0      163956      888356657  7320395061548 ...
938  11   1520036442  0      130690      885314969  7320395061548 ...
939  11   1520036442  0      2001068577  882296582  1740883117838 ...
940  11   1520036443  0      161806      882296582  7320395061548 ...
941  11   1520036443  0x2    0           998020546  1             ...
942  11   1520036444  0      136585      998020546  7320395061548 ...
943  11   1520036444  0x2    0           998020257  1             ...
944  11   1520036445  5      2002662964  994160219  1740883117838 ...
945  11   1520036445  0x2    998073118   994160219  3             ...
946  11   1520036447  0      247136      994160219  7320395061548 ...

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Closes #7212
2018-03-06 15:15:15 -08:00
..
2018-01-25 13:40:38 -08:00
2018-02-13 14:54:54 -08:00
2017-06-30 11:11:01 -07:00
2018-01-08 09:52:36 -08:00
2017-10-05 19:28:00 -07:00
2016-01-08 15:08:19 -08:00
2018-02-13 14:54:54 -08:00
2018-02-13 14:54:54 -08:00
2014-07-29 10:55:29 -07:00
2018-02-13 14:54:54 -08:00
2018-02-08 15:28:18 -08:00
2017-11-15 17:27:01 -08:00
2017-11-15 17:27:01 -08:00
2013-11-04 11:17:48 -08:00
2017-01-03 11:31:18 -06:00
2017-12-07 10:28:50 -08:00
2017-10-11 16:54:48 -04:00
2018-02-13 14:54:54 -08:00
2014-08-13 10:35:00 -07:00
2016-04-21 09:49:25 -07:00
2016-06-07 09:16:52 -07:00
2017-11-15 17:27:01 -08:00
2016-06-24 13:13:21 -07:00
2018-02-13 14:54:54 -08:00
2018-01-25 13:40:38 -08:00
2015-01-06 16:53:24 -08:00
2017-01-03 11:31:18 -06:00
2017-07-13 13:54:00 -04:00
2011-02-10 09:21:43 -08:00
2013-11-04 10:55:25 -08:00
2018-01-25 13:40:38 -08:00
2018-02-13 14:54:54 -08:00
2018-02-08 15:28:18 -08:00
2018-02-08 15:28:18 -08:00
2018-02-13 14:54:54 -08:00
2017-03-10 09:51:33 -08:00
2013-12-18 16:46:35 -08:00
2017-03-10 09:51:33 -08:00
2017-03-10 09:51:33 -08:00
2018-02-13 14:54:54 -08:00
2017-03-10 09:51:33 -08:00
2018-02-13 14:54:54 -08:00
2017-03-10 09:51:35 -08:00
2018-02-13 14:54:54 -08:00
2017-03-29 12:24:51 -07:00
2017-08-14 10:36:48 -07:00
2016-12-12 10:46:26 -08:00
2017-07-12 13:05:37 -07:00