aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/mmp.c
diff options
context:
space:
mode:
authorDon Brady <[email protected]>2024-04-29 15:35:53 -0600
committerTony Hutter <[email protected]>2024-04-30 10:01:15 -0700
commit706307445e66b63f6f4fd828dc331bb0a010c59f (patch)
tree88a6fdb6e880c01ca6525106abc26005fda9ea1d /module/zfs/mmp.c
parentea3f7c12a9c566c362d0039fb8ac5baa0baa8cbd (diff)
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 <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Don Brady <[email protected]> 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 25eea0752..8144d8965 100644
--- a/module/zfs/mmp.c
+++ b/module/zfs/mmp.c
@@ -663,12 +663,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",