The commit is pushed to "branch-rh9-5.14.0-284.25.1.vz9.30.x-ovz" and will 
appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh9-5.14.0-284.25.1.vz9.30.8
------>
commit a16b045d56c6b214038db4bd5d12607a99bce552
Author: Alexey Kuznetsov <kuz...@virtuozzo.com>
Date:   Fri Oct 6 18:43:48 2023 +0800

    fuse: do not accelerate writes with unknown dirty state
    
    If we have no sync seq numbers we cannot force dirty status.
    So, route writes via slow path. When CSes reply with dirty seqs,
    we will be able to make shortcut.
    
    https://pmc.acronis.work/browse/VSTOR-54040
    
    Signed-off-by: Alexey Kuznetsov <kuz...@acronis.com>
    
    Feature: vStorage
---
 fs/fuse/kio/pcs/pcs_cs_accel.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/fs/fuse/kio/pcs/pcs_cs_accel.c b/fs/fuse/kio/pcs/pcs_cs_accel.c
index 6db4562d38bf..d47486d0cb18 100644
--- a/fs/fuse/kio/pcs/pcs_cs_accel.c
+++ b/fs/fuse/kio/pcs/pcs_cs_accel.c
@@ -1123,6 +1123,9 @@ struct pcs_int_request * pcs_csa_csl_write_submit(struct 
pcs_int_request * ireq)
        ireq_init_acr(ireq);
 
        for (idx = 0; idx < csl->nsrv; idx++) {
+               /* If dirty status is unknown go to slow path to get a seed */
+               if (csl->cs[idx].sync.dirty_seq == 0)
+                       break;
                if (!csa_cs_submit_write(ireq, idx))
                        break;
        }
@@ -1171,6 +1174,8 @@ int pcs_csa_csl_write_submit_single(struct 
pcs_int_request * ireq, int idx)
 {
        if (idx >= PCS_MAX_ACCEL_CS)
                return 0;
+       if (ireq->iochunk.csl->cs[idx].sync.dirty_seq == 0)
+               return 0;
 
        ireq_init_acr(ireq);
 
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to