@@ -843,7 +843,7 @@ HttpSM::state_read_client_request_header(int event, void *data)
843843 // When receive an "Expect: 100-continue" request from client, ATS sends a "100 Continue" response to client
844844 // immediately, before receive the real response from original server.
845845 if ((len == HTTP_LEN_100_CONTINUE) && (strncasecmp (expect, HTTP_VALUE_100_CONTINUE, HTTP_LEN_100_CONTINUE) == 0 )) {
846- int64_t alloc_index = buffer_size_to_index (len_100_continue_response);
846+ int64_t alloc_index = buffer_size_to_index (len_100_continue_response, t_state. http_config_param -> max_payload_iobuf_index );
847847 if (ua_entry->write_buffer ) {
848848 free_MIOBuffer (ua_entry->write_buffer );
849849 ua_entry->write_buffer = nullptr ;
@@ -898,7 +898,7 @@ HttpSM::wait_for_full_body()
898898 alloc_index = DEFAULT_REQUEST_BUFFER_SIZE_INDEX;
899899 }
900900 } else {
901- alloc_index = buffer_size_to_index (t_state.hdr_info .request_content_length );
901+ alloc_index = buffer_size_to_index (t_state.hdr_info .request_content_length , t_state. http_config_param -> max_payload_iobuf_index );
902902 }
903903 MIOBuffer *post_buffer = new_MIOBuffer (alloc_index);
904904 IOBufferReader *buf_start = post_buffer->alloc_reader ();
@@ -5676,7 +5676,7 @@ HttpSM::setup_transform_to_server_transfer()
56765676 ink_assert (post_transform_info.entry ->vc == post_transform_info.vc );
56775677
56785678 int64_t nbytes = t_state.hdr_info .transform_request_cl ;
5679- int64_t alloc_index = buffer_size_to_index (nbytes);
5679+ int64_t alloc_index = buffer_size_to_index (nbytes, t_state. http_config_param -> max_payload_iobuf_index );
56805680 MIOBuffer *post_buffer = new_MIOBuffer (alloc_index);
56815681 IOBufferReader *buf_start = post_buffer->alloc_reader ();
56825682
@@ -5756,7 +5756,8 @@ HttpSM::do_setup_post_tunnel(HttpVC_t to_vc_type)
57565756 alloc_index = DEFAULT_REQUEST_BUFFER_SIZE_INDEX;
57575757 }
57585758 } else {
5759- alloc_index = buffer_size_to_index (t_state.hdr_info .request_content_length );
5759+ alloc_index =
5760+ buffer_size_to_index (t_state.hdr_info .request_content_length , t_state.http_config_param ->max_payload_iobuf_index );
57605761 }
57615762 MIOBuffer *post_buffer = new_MIOBuffer (alloc_index);
57625763 IOBufferReader *buf_start = post_buffer->alloc_reader ();
@@ -6177,7 +6178,8 @@ HttpSM::setup_cache_read_transfer()
61776178 ink_assert (cache_sm.cache_read_vc != nullptr );
61786179
61796180 doc_size = t_state.cache_info .object_read ->object_size_get ();
6180- alloc_index = buffer_size_to_index (doc_size + index_to_buffer_size (HTTP_HEADER_BUFFER_SIZE_INDEX));
6181+ alloc_index = buffer_size_to_index (doc_size + index_to_buffer_size (HTTP_HEADER_BUFFER_SIZE_INDEX),
6182+ t_state.http_config_param ->max_payload_iobuf_index );
61816183
61826184#ifndef USE_NEW_EMPTY_MIOBUFFER
61836185 MIOBuffer *buf = new_MIOBuffer (alloc_index);
@@ -6230,7 +6232,7 @@ HttpSM::setup_cache_transfer_to_transform()
62306232 cache_response_hdr_bytes = t_state.hdr_info .cache_response .length_get ();
62316233
62326234 doc_size = t_state.cache_info .object_read ->object_size_get ();
6233- alloc_index = buffer_size_to_index (doc_size);
6235+ alloc_index = buffer_size_to_index (doc_size, t_state. http_config_param -> max_payload_iobuf_index );
62346236 MIOBuffer *buf = new_MIOBuffer (alloc_index);
62356237 IOBufferReader *buf_start = buf->alloc_reader ();
62366238
@@ -6375,7 +6377,7 @@ HttpSM::setup_internal_transfer(HttpSMHandler handler_arg)
63756377 int64_t buf_size =
63766378 index_to_buffer_size (HTTP_HEADER_BUFFER_SIZE_INDEX) + (is_msg_buf_present ? t_state.internal_msg_buffer_size : 0 );
63776379
6378- MIOBuffer *buf = new_MIOBuffer (buffer_size_to_index (buf_size));
6380+ MIOBuffer *buf = new_MIOBuffer (buffer_size_to_index (buf_size, t_state. http_config_param -> max_payload_iobuf_index ));
63796381 IOBufferReader *buf_start = buf->alloc_reader ();
63806382
63816383 // First write the client response header into the buffer
@@ -6443,7 +6445,7 @@ HttpSM::find_http_resp_buffer_size(int64_t content_length)
64436445 }
64446446 } else {
64456447 int64_t buf_size = index_to_buffer_size (HTTP_HEADER_BUFFER_SIZE_INDEX) + content_length;
6446- alloc_index = buffer_size_to_index (buf_size);
6448+ alloc_index = buffer_size_to_index (buf_size, t_state. http_config_param -> max_payload_iobuf_index );
64476449 }
64486450
64496451 return alloc_index;
0 commit comments