summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-09-04 15:52:36 -0700
committerBrian Behlendorf <[email protected]>2012-09-04 16:00:06 -0700
commit0ef0ff546eeab2f85690d59ee23fe30fa634dd38 (patch)
tree3a24f4b2589305853619683fdb847f80e6edc510 /include
parent395350c85d9903beba43bac7ae79092ae25f1526 (diff)
Switch KM_SLEEP to KM_PUSHPAGE
This warning indicates the incorrect use of KM_SLEEP in a call path which must use KM_PUSHPAGE to avoid deadlocking in direct reclaim. See commit b8d06fca089fae4680c3a552fc55c512bfb02202 for additional details. SPL: Fixing allocation for task txg_sync (6093) which used GFP flags 0x297bda7c with PF_NOFS set Signed-off-by: Brian Behlendorf <[email protected]> Issue #917
Diffstat (limited to 'include')
-rw-r--r--include/sys/zfs_context.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h
index 98b216fd7..8982c000b 100644
--- a/include/sys/zfs_context.h
+++ b/include/sys/zfs_context.h
@@ -391,6 +391,7 @@ typedef struct taskq_ent {
#define TQ_SLEEP KM_SLEEP /* Can block for memory */
#define TQ_NOSLEEP KM_NOSLEEP /* cannot block for memory; may fail */
+#define TQ_PUSHPAGE KM_PUSHPAGE /* Cannot perform I/O */
#define TQ_NOQUEUE 0x02 /* Do not enqueue if can't dispatch */
#define TQ_FRONT 0x08 /* Queue in front */