summaryrefslogtreecommitdiffstats
path: root/module/zfs/fm.c
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-08-31 07:45:27 -0700
committerBrian Behlendorf <[email protected]>2012-08-31 17:39:29 -0700
commitb404a3f07f430710b92a380cd24dd2d48443d2f4 (patch)
treed0d669569511dadb8ee93b3d8255a06ff33a6191 /module/zfs/fm.c
parent2b2861362f7dd09cc3167df8fddb6e2cb475018a (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/fm.c')
-rw-r--r--module/zfs/fm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/module/zfs/fm.c b/module/zfs/fm.c
index a41d3533b..b91516e7a 100644
--- a/module/zfs/fm.c
+++ b/module/zfs/fm.c
@@ -672,7 +672,7 @@ zfs_zevent_destroy(zfs_zevent_t *ze)
static void *
i_fm_alloc(nv_alloc_t *nva, size_t size)
{
- return (kmem_zalloc(size, KM_SLEEP));
+ return (kmem_zalloc(size, KM_PUSHPAGE));
}
/* ARGSUSED */
@@ -740,7 +740,7 @@ fm_nvlist_create(nv_alloc_t *nva)
nv_alloc_t *nvhdl;
if (nva == NULL) {
- nvhdl = kmem_zalloc(sizeof (nv_alloc_t), KM_SLEEP);
+ nvhdl = kmem_zalloc(sizeof (nv_alloc_t), KM_PUSHPAGE);
if (nv_alloc_init(nvhdl, &fm_mem_alloc_ops, NULL, 0) != 0) {
kmem_free(nvhdl, sizeof (nv_alloc_t));