stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Backport of 1e37f2f84680
@ 2017-11-11 10:41 Ilya Dryomov
  2017-11-11 10:41 ` [PATCH for < 4.9] rbd: use GFP_NOIO for parent stat and data requests Ilya Dryomov
  0 siblings, 1 reply; 3+ messages in thread
From: Ilya Dryomov @ 2017-11-11 10:41 UTC (permalink / raw)
  To: stable; +Cc: Greg KH

Hi stable,

Please apply the following backport of 1e37f2f84680 ("rbd: use GFP_NOIO
for parent stat and data requests") to 4.4, 4.1 and earlier kernels.

Thanks,

                Ilya

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH for < 4.9] rbd: use GFP_NOIO for parent stat and data requests
  2017-11-11 10:41 Backport of 1e37f2f84680 Ilya Dryomov
@ 2017-11-11 10:41 ` Ilya Dryomov
  2017-11-11 12:52   ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: Ilya Dryomov @ 2017-11-11 10:41 UTC (permalink / raw)
  To: stable; +Cc: Greg KH

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>
[idryomov@gmail.com: backport to < 4.9: context]
---
 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 fbdddd6f94b8..ca3bcc81b623 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2736,7 +2736,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;
@@ -2863,7 +2863,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))
 		return PTR_ERR(pages);
 
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH for < 4.9] rbd: use GFP_NOIO for parent stat and data requests
  2017-11-11 10:41 ` [PATCH for < 4.9] rbd: use GFP_NOIO for parent stat and data requests Ilya Dryomov
@ 2017-11-11 12:52   ` Greg KH
  0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2017-11-11 12:52 UTC (permalink / raw)
  To: Ilya Dryomov; +Cc: stable

On Sat, Nov 11, 2017 at 11:41:41AM +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>
> Reviewed-by: David Disseldorp <ddiss@suse.de>
> [idryomov@gmail.com: backport to < 4.9: context]
> ---
>  drivers/block/rbd.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Now queued up, thanks for the backport.

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-11-11 12:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-11 10:41 Backport of 1e37f2f84680 Ilya Dryomov
2017-11-11 10:41 ` [PATCH for < 4.9] rbd: use GFP_NOIO for parent stat and data requests Ilya Dryomov
2017-11-11 12:52   ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).