[Devel] [PATCH RHEL7 COMMIT] fs/fuse kio: missing ireq's completion_data initialization

Konstantin Khorenko khorenko at virtuozzo.com
Thu Feb 27 15:36:14 MSK 2020


The commit is pushed to "branch-rh7-3.10.0-1062.12.1.vz7.131.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-1062.12.1.vz7.131.4
------>
commit dc91fe54cc31cb290fde9815481c5e6d8584d862
Author: Ildar Ismagilov <ildar.ismagilov at virtuozzo.com>
Date:   Thu Feb 27 15:36:14 2020 +0300

    fs/fuse kio: missing ireq's completion_data initialization
    
    In case of fiemap request the completion_data field isn't initalized
    and because of it the ireq_retry_inc (which is called from
    pcs_sreq_complete) works incorrect.
    
    https://jira.sw.ru/browse/PSBM-100294
    
    Signed-off-by: Ildar Ismagilov <ildar.ismagilov at virtuozzo.com>
---
 fs/fuse/kio/pcs/pcs_cluster.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/fuse/kio/pcs/pcs_cluster.c b/fs/fuse/kio/pcs/pcs_cluster.c
index 082acea9affad..01a4e960c1544 100644
--- a/fs/fuse/kio/pcs/pcs_cluster.c
+++ b/fs/fuse/kio/pcs/pcs_cluster.c
@@ -295,6 +295,8 @@ static void process_ireq_fiemap(struct pcs_int_request *orig_ireq)
 	fiter->ireq.type = PCS_IREQ_API;
 	fiter->ireq.apireq.req = &fiter->apireq;
 	fiter->ireq.completion_data.parent = NULL;
+	fiter->ireq.completion_data.ctx = orig_ireq->completion_data.ctx;
+	fiter->ireq.completion_data.priv = orig_ireq->completion_data.priv;
 	fiter->ireq.complete_cb = fiemap_iter_done;
 	fiter->apireq.datasource = fiter;
 	fiter->apireq.get_iter = fiemap_get_iter;


More information about the Devel mailing list