]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: stconn: Don't disable 0-copy FF if EOS was reported on consumer side
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 24 Oct 2024 09:53:10 +0000 (11:53 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 24 Oct 2024 10:07:50 +0000 (12:07 +0200)
There is no reason to disable the 0-copy data forwarding if an end-of-stream
was reported on the consumer side. Indeed, the consumer will send data in
this case. So there is no reason to check the read side here.

This patch may be backported as far as 2.9.

include/haproxy/stconn.h

index 9a61d6f5271e5592b4920c2513aac185cdc908e7..53f761a2898800ed755e14252c66895fcd6801ca 100644 (file)
@@ -490,8 +490,8 @@ static inline size_t se_nego_ff(struct sedesc *se, struct buffer *input, size_t
 
                se->iobuf.flags &= ~(IOBUF_FL_FF_BLOCKED|IOBUF_FL_FF_WANT_ROOM);
                if (mux->nego_fastfwd && mux->done_fastfwd) {
-                       /* Disable zero-copy forwarding if EOS or an error was reported. */
-                       if (se_fl_test(se, SE_FL_EOS|SE_FL_ERROR|SE_FL_ERR_PENDING)) {
+                       /* Disable zero-copy forwarding if an error was reported. */
+                       if (se_fl_test(se, SE_FL_ERROR|SE_FL_ERR_PENDING)) {
                                se->iobuf.flags |= IOBUF_FL_NO_FF;
                                goto end;
                        }