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++;

Reply via email to