aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/zap_leaf.c
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-09-04 19:54:20 -0700
committerBrian Behlendorf <[email protected]>2012-09-05 08:44:58 -0700
commitcafa9709f3271fe345b571c2feff8d2dc034ed49 (patch)
tree5f527929570ac530817030b6dd868f5e90a6d08c /module/zfs/zap_leaf.c
parent0ef0ff546eeab2f85690d59ee23fe30fa634dd38 (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 'module/zfs/zap_leaf.c')
-rw-r--r--module/zfs/zap_leaf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/module/zfs/zap_leaf.c b/module/zfs/zap_leaf.c
index b867ac407..ad21882e9 100644
--- a/module/zfs/zap_leaf.c
+++ b/module/zfs/zap_leaf.c
@@ -341,7 +341,7 @@ zap_leaf_array_match(zap_leaf_t *l, zap_name_t *zn,
ASSERT(zn->zn_key_intlen == sizeof (*thiskey));
thiskey = kmem_alloc(array_numints * sizeof (*thiskey),
- KM_SLEEP);
+ KM_PUSHPAGE);
zap_leaf_array_read(l, chunk, sizeof (*thiskey), array_numints,
sizeof (*thiskey), array_numints, thiskey);
@@ -353,7 +353,7 @@ zap_leaf_array_match(zap_leaf_t *l, zap_name_t *zn,
ASSERT(zn->zn_key_intlen == 1);
if (zn->zn_matchtype == MT_FIRST) {
- char *thisname = kmem_alloc(array_numints, KM_SLEEP);
+ char *thisname = kmem_alloc(array_numints, KM_PUSHPAGE);
boolean_t match;
zap_leaf_array_read(l, chunk, sizeof (char), array_numints,