On 06/30/2015 02:19 PM, Ilya Dryomov wrote: > 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. This looks OK to me. It's conservative; you can add a GFP parameter in the future. Reviewed-by: Alex Elder <elder@xxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx # 3.10+ > Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> > --- > drivers/block/rbd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c > index b316ee48a30b..d94529d5c8e9 100644 > --- a/drivers/block/rbd.c > +++ b/drivers/block/rbd.c > @@ -2022,11 +2022,11 @@ static struct rbd_obj_request *rbd_obj_request_create(const char *object_name, > rbd_assert(obj_request_type_valid(type)); > > size = strlen(object_name) + 1; > - name = kmalloc(size, GFP_KERNEL); > + name = kmalloc(size, GFP_NOIO); > if (!name) > 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) { > kfree(name); > return NULL; > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html