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 <behlendorf1@llnl.gov>
Closes #1734
Closes #1749
This commit is contained in:
Brian Behlendorf 2013-09-25 09:29:30 -07:00
parent f9f3f1ef98
commit cbfa294de4
2 changed files with 2 additions and 2 deletions

View File

@ -6144,7 +6144,7 @@ spa_sync(spa_t *spa, uint64_t txg)
spa->spa_sync_starttime = gethrtime(); spa->spa_sync_starttime = gethrtime();
taskq_cancel_id(system_taskq, spa->spa_deadman_tqid); taskq_cancel_id(system_taskq, spa->spa_deadman_tqid);
spa->spa_deadman_tqid = taskq_dispatch_delay(system_taskq, 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)); NSEC_TO_TICK(spa->spa_deadman_synctime));
/* /*

View File

@ -444,7 +444,7 @@ spa_deadman(void *arg)
vdev_deadman(spa->spa_root_vdev); vdev_deadman(spa->spa_root_vdev);
spa->spa_deadman_tqid = taskq_dispatch_delay(system_taskq, 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)); NSEC_TO_TICK(spa->spa_deadman_synctime));
} }