]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit5bda22a4876d46e81d2f9657d8a789f94d941c73
tree22b66ced5f19d301f0bf652842424d596e527769
parenteaa43ad450e5f5f1a480da351209764bba17362f
rbd: use GFP_NOIO consistently for request allocations

As of f1d391aa6375aead0950a261eb2e9ab2f7a03f45, 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