From: Luis Henriques <lhenriques@suse.com>
Date: Fri, 23 Jun 2017 16:22:19 +0100
Subject: rbd: make sure pages are freed by libceph
Patch-mainline: Never, it fixes SUSE-specific code that has never been
merged upstream
References: bsc#1045596
Changes made for FATE#321625 modified the rbd_dev_getxattr so that the
pages aren't tracked in a struct rbd_obj_request anymore, but in struct
ceph_osd_request instead. By setting the 'own_pages' flag to true when
calling osd_req_op_xattr_response_data_pages ensures that libceph will
take care of freeing pages.
Signed-off-by: Luis Henriques <lhenriques@suse.com>
Acked-by: David Disseldorp <ddiss@suse.de>
---
drivers/block/rbd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -5056,7 +5056,7 @@ int rbd_dev_getxattr(struct rbd_device *
osd_req_op_xattr_response_data_pages(req, 0,
pages, max_val_len,
- 0, false, false);
+ 0, false, true);
ceph_osdc_start_request(osdc, req, false);
ret = ceph_osdc_wait_request(osdc, req);