mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 10:01:01 +03:00
Use taskq_wait_outstanding() function
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>
This commit is contained in:
parent
4f34bd9792
commit
c5528b9ba6
@ -556,7 +556,7 @@ metaslab_group_passivate(metaslab_group_t *mg)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
taskq_wait(mg->mg_taskq);
|
taskq_wait_outstanding(mg->mg_taskq, 0);
|
||||||
metaslab_group_alloc_update(mg);
|
metaslab_group_alloc_update(mg);
|
||||||
|
|
||||||
mgprev = mg->mg_prev;
|
mgprev = mg->mg_prev;
|
||||||
@ -1596,7 +1596,7 @@ metaslab_group_preload(metaslab_group_t *mg)
|
|||||||
int m = 0;
|
int m = 0;
|
||||||
|
|
||||||
if (spa_shutting_down(spa) || !metaslab_preload_enabled) {
|
if (spa_shutting_down(spa) || !metaslab_preload_enabled) {
|
||||||
taskq_wait(mg->mg_taskq);
|
taskq_wait_outstanding(mg->mg_taskq, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@ txg_wait_callbacks(dsl_pool_t *dp)
|
|||||||
tx_state_t *tx = &dp->dp_tx;
|
tx_state_t *tx = &dp->dp_tx;
|
||||||
|
|
||||||
if (tx->tx_commit_cb_taskq != NULL)
|
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
|
static void
|
||||||
|
@ -1152,8 +1152,8 @@ zfs_sb_teardown(zfs_sb_t *zsb, boolean_t unmounting)
|
|||||||
*/
|
*/
|
||||||
int round = 0;
|
int round = 0;
|
||||||
while (zsb->z_nr_znodes > 0) {
|
while (zsb->z_nr_znodes > 0) {
|
||||||
taskq_wait(dsl_pool_iput_taskq(dmu_objset_pool(
|
taskq_wait_outstanding(dsl_pool_iput_taskq(
|
||||||
zsb->z_os)));
|
dmu_objset_pool(zsb->z_os)), 0);
|
||||||
if (++round > 1 && !unmounting)
|
if (++round > 1 && !unmounting)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1740,7 +1740,7 @@ zfs_init(void)
|
|||||||
void
|
void
|
||||||
zfs_fini(void)
|
zfs_fini(void)
|
||||||
{
|
{
|
||||||
taskq_wait(system_taskq);
|
taskq_wait_outstanding(system_taskq, 0);
|
||||||
unregister_filesystem(&zpl_fs_type);
|
unregister_filesystem(&zpl_fs_type);
|
||||||
zfs_znode_fini();
|
zfs_znode_fini();
|
||||||
zfsctl_fini();
|
zfsctl_fini();
|
||||||
|
Loading…
Reference in New Issue
Block a user