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