Skip to content

Commit

Permalink
Use taskq_wait_outstanding() function
Browse files Browse the repository at this point in the history
Replace taskq_wait() with taskq_wait_oustanding().  This way callers
will only block until previously submitted tasks have been completed.
This was the previous behavior of task_wait() prior to the introduction
of taskq_wait_outstanding() so this isn't really a functionalty change
for these callers.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
  • Loading branch information
behlendorf committed Jun 11, 2015
1 parent 4f34bd9 commit c5528b9
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions module/zfs/metaslab.c
Expand Up @@ -556,7 +556,7 @@ metaslab_group_passivate(metaslab_group_t *mg)
return;
}

taskq_wait(mg->mg_taskq);
taskq_wait_outstanding(mg->mg_taskq, 0);
metaslab_group_alloc_update(mg);

mgprev = mg->mg_prev;
Expand Down Expand Up @@ -1596,7 +1596,7 @@ metaslab_group_preload(metaslab_group_t *mg)
int m = 0;

if (spa_shutting_down(spa) || !metaslab_preload_enabled) {
taskq_wait(mg->mg_taskq);
taskq_wait_outstanding(mg->mg_taskq, 0);
return;
}

Expand Down
2 changes: 1 addition & 1 deletion module/zfs/txg.c
Expand Up @@ -471,7 +471,7 @@ txg_wait_callbacks(dsl_pool_t *dp)
tx_state_t *tx = &dp->dp_tx;

if (tx->tx_commit_cb_taskq != NULL)
taskq_wait(tx->tx_commit_cb_taskq);
taskq_wait_outstanding(tx->tx_commit_cb_taskq, 0);
}

static void
Expand Down
6 changes: 3 additions & 3 deletions module/zfs/zfs_vfsops.c
Expand Up @@ -1152,8 +1152,8 @@ zfs_sb_teardown(zfs_sb_t *zsb, boolean_t unmounting)
*/
int round = 0;
while (zsb->z_nr_znodes > 0) {
taskq_wait(dsl_pool_iput_taskq(dmu_objset_pool(
zsb->z_os)));
taskq_wait_outstanding(dsl_pool_iput_taskq(
dmu_objset_pool(zsb->z_os)), 0);
if (++round > 1 && !unmounting)
break;
}
Expand Down Expand Up @@ -1740,7 +1740,7 @@ zfs_init(void)
void
zfs_fini(void)
{
taskq_wait(system_taskq);
taskq_wait_outstanding(system_taskq, 0);
unregister_filesystem(&zpl_fs_type);
zfs_znode_fini();
zfsctl_fini();
Expand Down

0 comments on commit c5528b9

Please sign in to comment.