diff options
author | Brian Behlendorf <[email protected]> | 2015-06-05 11:26:35 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-06-11 10:27:25 -0700 |
commit | c5528b9ba622421a213e128704de4090fa0db773 (patch) | |
tree | 8da399689252cb85f084a33e05a60c8a3f8ffb74 /module/zfs/zfs_vfsops.c | |
parent | 4f34bd9792bad1affe5b93aeef406fd7dc2df0f8 (diff) |
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 <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module/zfs/zfs_vfsops.c')
-rw-r--r-- | module/zfs/zfs_vfsops.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/module/zfs/zfs_vfsops.c b/module/zfs/zfs_vfsops.c index e86b21aee..2b532a333 100644 --- a/module/zfs/zfs_vfsops.c +++ b/module/zfs/zfs_vfsops.c @@ -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; } @@ -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(); |