mirror_zfs/module
Chunwei Chen 5ce028b0d4 Fix race between taskq_destroy and dynamic spawning thread
While taskq_destroy would wait for dynamic_taskq to finish its tasks, but it
does not implies the thread being spawned is up and running. This will cause
taskq to be freed before the thread can exit.

We fix this by using tq_nspawn to indicate how many threads are being spawned
before they are inserted to the thread list. And have taskq_destroy to wait
for it to drop to zero.

Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tim Chase <tim@chase2k.com>
Issue #553
Closes #550
2016-05-24 13:00:17 -07:00
..
spl Fix race between taskq_destroy and dynamic spawning thread 2016-05-24 13:00:17 -07:00
splat Add rw_tryupgrade() 2016-03-10 13:05:25 -08:00
.gitignore gitignore: anchor entries at their respective directory 2013-04-02 11:07:52 -07:00
Makefile.in Prevent rm modules.* when make install 2015-12-02 14:38:20 -08:00