Message ID | 1509983480-2051-1-git-send-email-idryomov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 6 Nov 2017 16:51:20 +0100, Ilya Dryomov wrote: > 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> Looks good. Reviewed-by: David Disseldorp <ddiss@suse.de> Cheers, David -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index fd3b9af610d2..57275298d9fc 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -2666,7 +2666,7 @@ static int rbd_img_obj_parent_read_full(struct rbd_obj_request *obj_request) * from the parent. */ page_count = (u32)calc_pages_for(0, length); - pages = ceph_alloc_page_vector(page_count, GFP_KERNEL); + pages = ceph_alloc_page_vector(page_count, GFP_NOIO); if (IS_ERR(pages)) { result = PTR_ERR(pages); pages = NULL; @@ -2801,7 +2801,7 @@ static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request) */ size = sizeof (__le64) + sizeof (__le32) + sizeof (__le32); page_count = (u32)calc_pages_for(0, size); - pages = ceph_alloc_page_vector(page_count, GFP_KERNEL); + pages = ceph_alloc_page_vector(page_count, GFP_NOIO); if (IS_ERR(pages)) { ret = PTR_ERR(pages); goto fail_stat_request;
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> --- drivers/block/rbd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)