From cbfa294de4937ae1af5845e9f765a3dc188cbcef Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 25 Sep 2013 09:29:30 -0700 Subject: [PATCH] Fix spa_deadman() TQ_SLEEP warning The spa_deadman() and spa_sync() functions can both be run in the spa_sync context and therefore should use TQ_PUSHPAGE instead of TQ_SLEEP. Signed-off-by: Brian Behlendorf Closes #1734 Closes #1749 --- module/zfs/spa.c | 2 +- module/zfs/spa_misc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/zfs/spa.c b/module/zfs/spa.c index fcb1711a2..2bd011a0c 100644 --- a/module/zfs/spa.c +++ b/module/zfs/spa.c @@ -6144,7 +6144,7 @@ spa_sync(spa_t *spa, uint64_t txg) spa->spa_sync_starttime = gethrtime(); taskq_cancel_id(system_taskq, spa->spa_deadman_tqid); spa->spa_deadman_tqid = taskq_dispatch_delay(system_taskq, - spa_deadman, spa, TQ_SLEEP, ddi_get_lbolt() + + spa_deadman, spa, TQ_PUSHPAGE, ddi_get_lbolt() + NSEC_TO_TICK(spa->spa_deadman_synctime)); /* diff --git a/module/zfs/spa_misc.c b/module/zfs/spa_misc.c index a5e13b5fb..9ba6e8963 100644 --- a/module/zfs/spa_misc.c +++ b/module/zfs/spa_misc.c @@ -444,7 +444,7 @@ spa_deadman(void *arg) vdev_deadman(spa->spa_root_vdev); spa->spa_deadman_tqid = taskq_dispatch_delay(system_taskq, - spa_deadman, spa, TQ_SLEEP, ddi_get_lbolt() + + spa_deadman, spa, TQ_PUSHPAGE, ddi_get_lbolt() + NSEC_TO_TICK(spa->spa_deadman_synctime)); }