mirror_zfs/module
Olaf Faaland 0801e4e5c9 Initialize mmp_last_write when the mmp thread starts (#10912)
A great deal of time may go by between when mmp_init() is called and
the MMP thread starts, particularly if there are bad devices, because
there is I/O checking configs etc.  If this time is too long,

    (gethrtime() - mmp_last_write) > mmp_fail_ns

at the time the MMP thread starts.  If MMP is configured to suspend
the pool, the pool will be suspended immediately.

This can be seen in issue #10838

The value of mmp_last_write doesn't matter before the mmp thread
starts.  To give the MMP thread time to issue and land MMP writes,
initialize mmp_last_write when the MMP thread starts.

Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Closes #10873
2020-09-16 00:16:47 +00:00
..
avl Fix typos in module/ 2020-01-22 13:48:59 -08:00
icp Replace sprintf()->snprintf() and strcpy()->strlcpy() 2020-09-15 21:16:58 +00:00
lua Switch off -Wmissing-prototypes for libgcc math functions 2020-09-15 21:21:05 +00:00
nvpair cppcheck: (warning) Possible null pointer dereference: nvh 2020-01-22 13:49:06 -08:00
spl Switch off -Wmissing-prototypes for libgcc math functions 2020-09-15 21:21:05 +00:00
unicode Update build system and packaging 2018-05-29 16:00:33 -07:00
zcommon Bugfix/fix uio partial copies 2020-05-12 10:53:32 -07:00
zfs Initialize mmp_last_write when the mmp thread starts (#10912) 2020-09-16 00:16:47 +00:00
.gitignore Adapt gitignore for modules 2020-01-22 13:49:05 -08:00
Makefile.in module/Makefile.in: don't run xargs if empty 2020-01-22 13:49:02 -08:00