From 343c95a24ea7fb4aa00082d888a3da43f0730736 Mon Sep 17 00:00:00 2001 From: Xin LI Date: Tue, 29 Jul 2014 06:57:13 +0000 Subject: [PATCH] Reschedule the 'deadman' callout after handling, this makes our code behave more like it is on Solaris. Reported by: avg Reviewed by: avg, mav (but bugs are mine) Differential Revision: https://phabric.freebsd.org/D457 --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c index 2573b66fb75d..2ab28473be41 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c @@ -570,6 +570,12 @@ spa_deadman(void *arg) ++spa->spa_deadman_calls); if (zfs_deadman_enabled) vdev_deadman(spa->spa_root_vdev); +#ifdef __FreeBSD__ +#ifdef _KERNEL + callout_schedule(&spa->spa_deadman_cycid, + hz * zfs_deadman_checktime_ms / MILLISEC); +#endif +#endif } /*