diff options
author | Chunwei Chen <[email protected]> | 2016-11-30 13:56:50 -0800 |
---|---|---|
committer | Chunwei Chen <[email protected]> | 2016-12-01 14:52:48 -0800 |
commit | 57ddcda1647daac93057dd520a9dc5187c643264 (patch) | |
tree | d68cf5f2f862e7c48db89c4ef515798f37219b2b /module/zfs/zpl_xattr.c | |
parent | 616fa7c02b0cc373f011998f56ed53bb37742d13 (diff) |
Use system_delay_taskq for long delay tasks
Use it for spa_deadman, zpl_posix_acl_free, snapentry_expire.
This free system_taskq from the above long delay tasks, and allow us to do
taskq_wait_outstanding on system_taskq without being blocked forever, making
system_taskq more generic and useful.
Signed-off-by: Chunwei Chen <[email protected]>
Diffstat (limited to 'module/zfs/zpl_xattr.c')
-rw-r--r-- | module/zfs/zpl_xattr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/module/zfs/zpl_xattr.c b/module/zfs/zpl_xattr.c index cec870824..9ab27f1c2 100644 --- a/module/zfs/zpl_xattr.c +++ b/module/zfs/zpl_xattr.c @@ -1511,8 +1511,8 @@ zpl_posix_acl_free(void *arg) } if (refire) - taskq_dispatch_delay(system_taskq, zpl_posix_acl_free, NULL, - TQ_SLEEP, new_time); + taskq_dispatch_delay(system_delay_taskq, zpl_posix_acl_free, + NULL, TQ_SLEEP, new_time); while (freelist) { a = freelist; @@ -1537,7 +1537,7 @@ zpl_posix_acl_release_impl(struct posix_acl *acl) *prev = a; /* if it was empty before, schedule the free task */ if (prev == &acl_rel_head) - taskq_dispatch_delay(system_taskq, zpl_posix_acl_free, NULL, - TQ_SLEEP, ddi_get_lbolt() + ACL_REL_SCHED); + taskq_dispatch_delay(system_delay_taskq, zpl_posix_acl_free, + NULL, TQ_SLEEP, ddi_get_lbolt() + ACL_REL_SCHED); } #endif |