zfs/module
Chunwei Chen da8f51e16a Use a dedicated taskq for vdev_file
The introduction of parallel zvol prefetch causes deadlock when using
vdev_file.

spa_async->(spa_namespace_lock)->txg_wait_synced->(wait for txg_sync)
txg_sync->zio_wait->(wait for vdev_file_io_fsync on system_taskq)
zvol_prefetch_minors_impl (on system_taskq)->spa_open_common->(wait for spa_namespace_lock)

We fix this by using dedicated taskq for vdev_file.  This same change
was originally made in commit bc25c93 but reverted in commit aa9af22
when dynamic taskqs were added.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chunwei Chen <tuxoko@gmail.com>
Closes #5506 
Closes #5495
2016-12-21 10:47:15 -08:00
..
avl Fix uninitialized variable in avl_add() 2016-07-25 14:21:34 -07:00
icp Use cstyle -cpP in `make cstyle` check 2016-12-12 10:46:26 -08:00
nvpair Fix file permissions 2016-10-08 14:57:56 -07:00
unicode Build user-space with different gcc optimization levels 2016-08-09 14:40:35 -07:00
zcommon Use cstyle -cpP in `make cstyle` check 2016-12-12 10:46:26 -08:00
zfs Use a dedicated taskq for vdev_file 2016-12-21 10:47:15 -08:00
zpios Use cstyle -cpP in `make cstyle` check 2016-12-12 10:46:26 -08:00
.gitignore module/.gitignore: Add *.dwo (#4580) 2016-05-02 09:07:04 -07:00
Makefile.in Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00