diff options
author | Brian Behlendorf <[email protected]> | 2013-09-25 09:29:30 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-09-25 15:38:44 -0700 |
commit | cbfa294de4937ae1af5845e9f765a3dc188cbcef (patch) | |
tree | 15cad2517a4fc716931481e98527ae3364809b67 /module/zfs | |
parent | f9f3f1ef983e987a2e09a49c3684405561fed634 (diff) |
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 <[email protected]>
Closes #1734
Closes #1749
Diffstat (limited to 'module/zfs')
-rw-r--r-- | module/zfs/spa.c | 2 | ||||
-rw-r--r-- | 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)); } |