Fix zio_taskq_dispatch to use TQ_NOSLEEP
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 26 Aug 2010 17:32:23 +0000 (10:32 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 31 Aug 2010 15:38:46 +0000 (08:38 -0700)
commit5cc556b447380bf5fed181d3aa5f138618cd69c8
tree3af4f4d688c0ff2cb4579f46cdfb4277b2ec2db7
parent2a442d1629e5405efe82b832d06f69e8d1360cc7
Fix zio_taskq_dispatch to use TQ_NOSLEEP

The zio_taskq_dispatch() function may be called at interrupt time
and it is critical that we never sleep.

Additionally, wrap taskq_dispatch() in a while loop because it may
fail.  This is non optimal but is OK for now.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/zio.c