rbd: use GFP_NOIO consistently for request allocations
authorDavid Disseldorp <ddiss@suse.de>
Tue, 5 Apr 2016 09:13:39 +0000 (11:13 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Tue, 5 Apr 2016 20:11:37 +0000 (22:11 +0200)
commit2224d879c7c0f85c14183ef82eb48bd875ceb599
tree22b66ced5f19d301f0bf652842424d596e527769
parent9735a22799b9214d17d3c231fe377fc852f042e9
rbd: use GFP_NOIO consistently for request allocations

As of 5a60e87603c4c533492c515b7f62578189b03c9c, RBD object request
allocations are made via rbd_obj_request_create() with GFP_NOIO.
However, subsequent OSD request allocations in rbd_osd_req_create*()
use GFP_ATOMIC.

With heavy page cache usage (e.g. OSDs running on same host as krbd
client), rbd_osd_req_create() order-1 GFP_ATOMIC allocations have been
observed to fail, where direct reclaim would have allowed GFP_NOIO
allocations to succeed.

Cc: stable@vger.kernel.org # 3.18+
Suggested-by: Vlastimil Babka <vbabka@suse.cz>
Suggested-by: Neil Brown <neilb@suse.com>
Signed-off-by: David Disseldorp <ddiss@suse.de>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
drivers/block/rbd.c