]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Fix spa_deadman() TQ_SLEEP warning
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 25 Sep 2013 16:29:30 +0000 (09:29 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 25 Sep 2013 22:38:44 +0000 (15:38 -0700)
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

module/zfs/spa.c
module/zfs/spa_misc.c

index fcb1711a211ba8d234d2e7b37e07cdb6eb3907f7..2bd011a0cbff01a857c9143e29e5621431bca7b3 100644 (file)
@@ -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));
 
        /*
index a5e13b5fb3cfa47c1bba0806e23ba8457a55104d..9ba6e896338bd54d8769fd5690cfbb7dd25fd879 100644 (file)
@@ -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));
 }