Commit 6ef7e1e8 authored by Ilya Dryomov's avatar Ilya Dryomov Committed by Luis Henriques

rbd: use GFP_NOIO in rbd_obj_request_create()

commit 5a60e876 upstream.

rbd_obj_request_create() is called on the main I/O path, so we need to
use GFP_NOIO to make sure allocation doesn't blow back on us.  Not all
callers need this, but I'm still hardcoding the flag inside rather than
making it a parameter because a) this is going to stable, and b) those
callers shouldn't really use rbd_obj_request_create() and will be fixed
in the future.

More memory allocation fixes will follow.
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent 9db73e33
...@@ -1909,11 +1909,11 @@ static struct rbd_obj_request *rbd_obj_request_create(const char *object_name, ...@@ -1909,11 +1909,11 @@ static struct rbd_obj_request *rbd_obj_request_create(const char *object_name,
rbd_assert(obj_request_type_valid(type)); rbd_assert(obj_request_type_valid(type));
size = strlen(object_name) + 1; size = strlen(object_name) + 1;
name = kmalloc(size, GFP_KERNEL); name = kmalloc(size, GFP_NOIO);
if (!name) if (!name)
return NULL; return NULL;
obj_request = kmem_cache_zalloc(rbd_obj_request_cache, GFP_KERNEL); obj_request = kmem_cache_zalloc(rbd_obj_request_cache, GFP_NOIO);
if (!obj_request) { if (!obj_request) {
kfree(name); kfree(name);
return NULL; return NULL;
......
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