zfsonlinux/zfs — pull request #2325 by tuxoko (2014-05-12 11:14:44+00:00)
Title: Use a dedicated taskq for vdev_file

Originally, vdev_file uses system_taskq. This would cause deadlock, especially
on system with few CPUs. The reason is that prefetcher threads, which are on
system_taskq, will sometimes be blocked waiting for I/O to finished. If the
prefetcher threads consume all the tasks in system_taskq, the I/O cannot be
served and thus results in deadlock.

We fix this by creating a dedicated vdev_file_taskq for vdev_file I/O.

Signed-off-by: Chunwei Chen