aboutsummaryrefslogtreecommitdiff
path: root/module/zfs/mmp.c
diff options
context:
space:
mode:
authorDon Brady <don.brady@delphix.com>2024-04-29 21:35:53 +0000
committerGitHub <noreply@github.com>2024-04-29 21:35:53 +0000
commitc3f2f1aa2dccd5528336d90a6dd2f2a5c97b6352 (patch)
tree03288bc14871d65c4290d25ba88be2bfa07930da /module/zfs/mmp.c
parentb28461b7c6511be571ee2f7d71c0d7be12aa4630 (diff)
downloadsrc-c3f2f1aa2dccd5528336d90a6dd2f2a5c97b6352.tar.gz
src-c3f2f1aa2dccd5528336d90a6dd2f2a5c97b6352.zip
vdev probe to slow disk can stall mmp write checker
Simplify vdev probes in the zio_vdev_io_done context to avoid holding the spa config lock for a long duration. Also allow zpool clear if no evidence of another host is using the pool. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Olaf Faaland <faaland1@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Don Brady <don.brady@klarasystems.com> Closes #15839
Diffstat (limited to 'module/zfs/mmp.c')
-rw-r--r--module/zfs/mmp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/module/zfs/mmp.c b/module/zfs/mmp.c
index 66bc0ae60b10..71122542758d 100644
--- a/module/zfs/mmp.c
+++ b/module/zfs/mmp.c
@@ -664,12 +664,13 @@ mmp_thread(void *arg)
(gethrtime() - mmp->mmp_last_write) > mmp_fail_ns) {
zfs_dbgmsg("MMP suspending pool '%s': gethrtime %llu "
"mmp_last_write %llu mmp_interval %llu "
- "mmp_fail_intervals %llu mmp_fail_ns %llu",
+ "mmp_fail_intervals %llu mmp_fail_ns %llu txg %llu",
spa_name(spa), (u_longlong_t)gethrtime(),
(u_longlong_t)mmp->mmp_last_write,
(u_longlong_t)mmp_interval,
(u_longlong_t)mmp_fail_intervals,
- (u_longlong_t)mmp_fail_ns);
+ (u_longlong_t)mmp_fail_ns,
+ (u_longlong_t)spa->spa_uberblock.ub_txg);
cmn_err(CE_WARN, "MMP writes to pool '%s' have not "
"succeeded in over %llu ms; suspending pool. "
"Hrtime %llu",