Commit 910ad386 authored by Trond Myklebust's avatar Trond Myklebust

NFS: Fix memory allocation in rpc_alloc_task()

As for rpc_malloc(), we first try allocating from the slab, then fall
back to a non-waiting allocation from the mempool.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 33e5c765
...@@ -1108,10 +1108,14 @@ static void rpc_init_task(struct rpc_task *task, const struct rpc_task_setup *ta ...@@ -1108,10 +1108,14 @@ static void rpc_init_task(struct rpc_task *task, const struct rpc_task_setup *ta
rpc_init_task_statistics(task); rpc_init_task_statistics(task);
} }
static struct rpc_task * static struct rpc_task *rpc_alloc_task(void)
rpc_alloc_task(void)
{ {
return (struct rpc_task *)mempool_alloc(rpc_task_mempool, GFP_KERNEL); struct rpc_task *task;
task = kmem_cache_alloc(rpc_task_slabp, rpc_task_gfp_mask());
if (task)
return task;
return mempool_alloc(rpc_task_mempool, GFP_NOWAIT);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment