Module Name: src
Committed By: haad
Date: Wed Dec 15 22:09:14 UTC 2010
Modified Files:
src/external/cddl/osnet/dist/lib/libzpool/common: taskq.c
Log Message:
Only KM_SLEEP | KM_NOSLEEP can be passed down to kmem layer, clean up
tqflags from internal taskq flags (TQ_FRONT) before calling kmem_alloc.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
src/external/cddl/osnet/dist/lib/libzpool/common/taskq.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/cddl/osnet/dist/lib/libzpool/common/taskq.c
diff -u src/external/cddl/osnet/dist/lib/libzpool/common/taskq.c:1.1.1.2 src/external/cddl/osnet/dist/lib/libzpool/common/taskq.c:1.2
--- src/external/cddl/osnet/dist/lib/libzpool/common/taskq.c:1.1.1.2 Sat Feb 27 22:30:30 2010
+++ src/external/cddl/osnet/dist/lib/libzpool/common/taskq.c Wed Dec 15 22:09:14 2010
@@ -76,7 +76,10 @@
*/
delay(hz);
}
- t = kmem_alloc(sizeof (task_t), tqflags);
+
+ /* Clean up TQ_FRONT from tqflags before passing it to kmem */
+ t = kmem_alloc(sizeof (task_t),
+ tqflags & (KM_SLEEP | KM_NOSLEEP));
mutex_enter(&tq->tq_lock);
if (t != NULL)
tq->tq_nalloc++;