The commit is pushed to "branch-rh9-5.14.0-427.44.1.vz9.80.x-ovz" and will 
appear at g...@bitbucket.org:openvz/vzkernel.git
after rh9-5.14.0-427.44.1.vz9.80.4
------>
commit b7afdb9ff313e147226ad669b7d9ca35816585b3
Author: Liu Kui <kui....@virtuozzo.com>
Date:   Wed Jan 22 17:44:36 2025 +0800

    fs/fuse kio: check whether the fuse request has been killed
    
    When receiving a msg with a kRPC zero-copy buffer, kRPC lookups the
    corresponding fuse request to get the actual buffer. However the fuse
    request could have been killed and having its buffer released. In
    case like this, it is not appropriate to return a fatal error to
    userspace, instead we return a positive error value to represent
    non-fatal error that pertains to the msg only so that userspace can
    adapt accordingly.
    
    Related to #VSTOR-98219
    https://virtuozzo.atlassian.net/browse/VSTOR-98219
    
    Signed-off-by: Liu Kui <kui....@virtuozzo.com>
    Acked-by: Alexey Kuznetsov <kuz...@virtuozzo.com>
    
    Feature: fuse: kRPC - single RPC for kernel and userspace
---
 fs/fuse/kio/pcs/pcs_krpc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/fuse/kio/pcs/pcs_krpc.c b/fs/fuse/kio/pcs/pcs_krpc.c
index c549120e3bcb..115bd67aa0d2 100644
--- a/fs/fuse/kio/pcs/pcs_krpc.c
+++ b/fs/fuse/kio/pcs/pcs_krpc.c
@@ -532,8 +532,8 @@ static int pcs_krpc_ioctl_send_msg(struct pcs_krpc *krpc, 
struct pcs_krpc_ioc_se
                        chunk->type = KRPC_CHUNK_TYPE_ZC;
                        chunk->addr = chunk_bdzc->offset;
                        chunk->req = fuse_dev_find_request(chunk_bdzc->devfd, 
chunk_bdzc->unique);
-                       if (!chunk->req) {
-                               res = -ENXIO;
+                       if (!chunk->req || chunk->req->args->killed) {
+                               res = PCS_ERR_NET;
                                goto err_free_data_chunk;
                        }
                        break;
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to