From: Brian Behlendorf Date: Mon, 17 Sep 2012 18:22:23 +0000 (-0700) Subject: Switch KM_SLEEP to KM_PUSHPAGE X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;ds=inline;h=ba367276d84e126dc3a13677c286539d0019e3b8;p=zfs.git 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 Issue #917 --- diff --git a/module/zfs/dsl_prop.c b/module/zfs/dsl_prop.c index 64c44b9..e44a948 100644 --- a/module/zfs/dsl_prop.c +++ b/module/zfs/dsl_prop.c @@ -697,7 +697,7 @@ dsl_prop_set_sync(void *arg1, void *arg2, dmu_tx_t *tx) if (source == ZPROP_SRC_LOCAL) { valstr = (char *)psa->psa_value; } else { - tbuf = kmem_alloc(ZAP_MAXVALUELEN, KM_SLEEP); + tbuf = kmem_alloc(ZAP_MAXVALUELEN, KM_PUSHPAGE); if (dsl_prop_get_ds(ds, propname, 1, ZAP_MAXVALUELEN, tbuf, NULL) == 0) valstr = tbuf;