]> git.proxmox.com Git - mirror_zfs.git/commit - module/zfs/spa_misc.c
Allow MMP to bypass waiting for other threads
authorHerb Wartens <hawartens@gmail.com>
Wed, 19 Apr 2023 20:22:59 +0000 (13:22 -0700)
committerGitHub <noreply@github.com>
Wed, 19 Apr 2023 20:22:59 +0000 (13:22 -0700)
commit71d191ef25d1c60e6725c07b6b94a0184f7db2eb
tree0ce649a37988c6205222811148c0e74eed17f1bc
parentd4657835c8a5da816ab098fd2f1d62480865d087
Allow MMP to bypass waiting for other threads

At our site we have seen cases when multi-modifier protection is enabled
(multihost=on) on our pool and the pool gets suspended due to a single
disk that is failing and responding very slowly. Our pools have 90 disks
in them and we expect disks to fail. The current version of MMP requires
that we wait for other writers before moving on. When a disk is
responding very slowly, we observed that waiting here was bad enough to
cause the pool to suspend. This change allows the MMP thread to bypass
waiting for other threads and reduces the chances the pool gets
suspended.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Herb Wartens <hawartens@gmail.com>
Closes #14659
include/sys/spa.h
module/zfs/mmp.c
module/zfs/spa_misc.c