[Devel] [PATCH VZ9 1/3] fs/fuse: pcs: badly aligned requests were not handled correctly
Alexey Kuznetsov
kuznet at virtuozzo.com
Wed Mar 27 17:57:33 MSK 2024
Mistakenly set error condition was not properly reset and did not
allow properly finished request to complete clean.
https://pmc.acronis.work/browse/VSTOR-83928
Signed-off-by: Alexey Kuznetsov <kuznet at acronis.com>
---
fs/fuse/kio/pcs/pcs_cs_accel.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/fs/fuse/kio/pcs/pcs_cs_accel.c b/fs/fuse/kio/pcs/pcs_cs_accel.c
index d47486d..067598b 100644
--- a/fs/fuse/kio/pcs/pcs_cs_accel.c
+++ b/fs/fuse/kio/pcs/pcs_cs_accel.c
@@ -570,8 +570,6 @@ static inline int csa_submit(struct file * file, struct file *cfile, int do_csum
if (unlikely(ret != -EIOCBQUEUED)) {
if (ret != size) {
- pcs_set_error_cond_atomic(&ireq->error, PCS_ERR_IO, 1, ireq->iochunk.csl->cs[ireq->iochunk.cs_index].info.id);
-
/* Do not drop refs, we do not want to complete ireq. */
fput(areq->iocb.ki_filp);
FUSE_KTRACE(ireq->cc->fc, "AIO submit rejected ret=%d %lu, ireq:%p : %llu:%u+%u",
@@ -650,6 +648,7 @@ int pcs_csa_cs_submit(struct pcs_cs * cs, struct pcs_int_request * ireq)
/* Clear state which could be rewritten by csa_submit */
ireq->iochunk.msg.destructor = NULL;
ireq->iochunk.msg.rpc = NULL;
+ ireq->flags |= IREQ_F_NO_ACCEL;
}
}
}
@@ -1028,8 +1027,6 @@ static inline int csa_submit_write(struct file * file, struct pcs_int_request *
if (unlikely(ret != -EIOCBQUEUED)) {
if (ret != size) {
- pcs_set_error_cond_atomic(&ireq->error, PCS_ERR_IO, 1, ireq->iochunk.csl->cs[idx].info.id);
-
/* Do not drop refs, we do not want to complete ireq. */
fput(areq->iocb.ki_filp);
FUSE_KTRACE(ireq->cc->fc, "AIO submit rejected ret=%d %lu, ireq:%p : %llu:%u+%u",
--
1.8.3.1
More information about the Devel
mailing list