Update fix-taskq to never sleep at interrupt time

Updated fix to detect if we are in an interrupt and only sleep if it
is safe to do some.  I guess it must be safe to sleep under Solaris
this must be handled in a sort interrupt handler there
This commit is contained in:
Brian Behlendorf 2010-06-14 16:14:23 -07:00
parent 2c67a5a29d
commit 49ad53c46f
1 changed files with 4 additions and 1 deletions

View File

@ -1048,7 +1048,10 @@ zio_taskq_dispatch(zio_t *zio, enum zio_taskq_type q, boolean_t cutinline)
{ {
spa_t *spa = zio->io_spa; spa_t *spa = zio->io_spa;
zio_type_t t = zio->io_type; zio_type_t t = zio->io_type;
int flags = TQ_SLEEP | (cutinline ? TQ_FRONT : 0); int flags;
flags = (cutinline ? TQ_FRONT : 0);
flags |= ((q == ZIO_TASKQ_INTERRUPT) ? TQ_NOSLEEP : TQ_SLEEP);
/* /*
* If we're a config writer or a probe, the normal issue and * If we're a config writer or a probe, the normal issue and