diff options
author | Tim Chase <[email protected]> | 2015-05-16 10:40:45 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-05-18 11:39:14 -0700 |
commit | f467b05a265abcfb8e5a3269f79d08f36a58646a (patch) | |
tree | 7679b0c095920e7f2db4e2277d64ec6d878a91eb /include | |
parent | 7fec46b9d8967109ad289d208e8cf36a0c16e40c (diff) |
Initialize dbu_tqent in dmu_buf_init_user()
The dbu_evict_taskq added in 0c66c32d is only invoked via
taskq_dispatch_ent(). In these cases, ZoL's implementation of taskqs
requires the entries to be initialized first with taskq_init_ent() in
order that, among other things, the embedded spinlock is initialized
properly.
Signed-off-by: Tim Chase <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3419
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/dmu.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/dmu.h b/include/sys/dmu.h index 08871e890..d3874335b 100644 --- a/include/sys/dmu.h +++ b/include/sys/dmu.h @@ -558,6 +558,7 @@ dmu_buf_init_user(dmu_buf_user_t *dbu, dmu_buf_evict_func_t *evict_func, ASSERT(dbu->dbu_evict_func == NULL); ASSERT(evict_func != NULL); dbu->dbu_evict_func = evict_func; + taskq_init_ent(&dbu->dbu_tqent); #ifdef ZFS_DEBUG dbu->dbu_clear_on_evict_dbufp = clear_on_evict_dbufp; #endif |