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 b8d06fca08
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 <behlendorf1@llnl.gov>
Issue #917
This commit is contained in:
Brian Behlendorf 2012-09-03 13:05:19 -07:00
parent ba7dbeb22e
commit 594b4dd82a

View File

@ -1420,7 +1420,7 @@ arc_buf_data_free(arc_buf_hdr_t *hdr, void (*free_func)(void *, size_t),
{ {
if (HDR_L2_WRITING(hdr)) { if (HDR_L2_WRITING(hdr)) {
l2arc_data_free_t *df; l2arc_data_free_t *df;
df = kmem_alloc(sizeof (l2arc_data_free_t), KM_SLEEP); df = kmem_alloc(sizeof (l2arc_data_free_t), KM_PUSHPAGE);
df->l2df_data = data; df->l2df_data = data;
df->l2df_size = size; df->l2df_size = size;
df->l2df_func = free_func; df->l2df_func = free_func;