rbd: use GFP_NOIO for parent stat and data requests

rbd_img_obj_exists_submit() and rbd_img_obj_parent_read_full() are on
the writeback path for cloned images -- we attempt a stat on the parent
object to see if it exists and potentially read it in to call copyup.
GFP_NOIO should be used instead of GFP_KERNEL here.

Cc: stable@vger.kernel.org
Link: http://tracker.ceph.com/issues/22014
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: David Disseldorp <ddiss@suse.de>

Changed files
+2 -2
drivers
block
+2 -2
drivers/block/rbd.c
··· 2692 2692 * from the parent. 2693 2693 */ 2694 2694 page_count = (u32)calc_pages_for(0, length); 2695 - pages = ceph_alloc_page_vector(page_count, GFP_KERNEL); 2695 + pages = ceph_alloc_page_vector(page_count, GFP_NOIO); 2696 2696 if (IS_ERR(pages)) { 2697 2697 result = PTR_ERR(pages); 2698 2698 pages = NULL; ··· 2827 2827 */ 2828 2828 size = sizeof (__le64) + sizeof (__le32) + sizeof (__le32); 2829 2829 page_count = (u32)calc_pages_for(0, size); 2830 - pages = ceph_alloc_page_vector(page_count, GFP_KERNEL); 2830 + pages = ceph_alloc_page_vector(page_count, GFP_NOIO); 2831 2831 if (IS_ERR(pages)) { 2832 2832 ret = PTR_ERR(pages); 2833 2833 goto fail_stat_request;