[Devel] [PATCH RHEL9 COMMIT] fs/fuse kio: destruct fuse ktrace at the end of kio destruction

Konstantin Khorenko khorenko at virtuozzo.com
Thu Feb 13 21:53:36 MSK 2025


The commit is pushed to "branch-rh9-5.14.0-427.44.1.vz9.80.x-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh9-5.14.0-427.44.1.vz9.80.15
------>
commit 56e7b93c610ee24d3c640f43abcbdb0527a3148f
Author: Liu Kui <kui.liu at virtuozzo.com>
Date:   Fri Feb 14 00:49:53 2025 +0800

    fs/fuse kio: destruct fuse ktrace at the end of kio destruction
    
    Apparently ktrace could still be used during kio destruction. An absence
    of ktrace can trigger the WARN_ON check in pcs_rpc_report_error(). While
    it's not fatal functionally, it does fail testcases, so fix it here.
    
    Related to #VSTOR-99621
    https://virtuozzo.atlassian.net/browse/VSTOR-99621
    
    Signed-off-by: Liu Kui <kui.liu at virtuozzo.com>
    Acked-by: Alexey Kuznetsov <kuznet at virtuozzo.com>
    
    Feature: vStorage
---
 fs/fuse/kio/pcs/pcs_fuse_kdirect.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
index 0aeb166eecb1..8da9550cc156 100644
--- a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
+++ b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
@@ -297,9 +297,6 @@ static void kpcs_conn_fini(struct fuse_mount *fm)
 {
 	struct fuse_conn *fc = fm->fc;
 
-	if (fc->ktrace)
-		fuse_ktrace_remove(fc);
-
 	if (!fc->kio.ctx)
 		return;
 
@@ -310,6 +307,9 @@ static void kpcs_conn_fini(struct fuse_mount *fm)
 	flush_workqueue(pcs_cpu_wq);
 	flush_workqueue(pcs_cleanup_wq);
 	pcs_cluster_fini((struct pcs_fuse_cluster *) fc->kio.ctx);
+
+	if (fc->ktrace)
+		fuse_ktrace_remove(fc);
 }
 
 static void kpcs_conn_abort(struct fuse_conn *fc)


More information about the Devel mailing list