From: Ralph Boehme Date: Thu, 20 Apr 2023 15:24:30 +0000 (+0200) Subject: mdssvc: add and use SL_PAGESIZE X-Git-Tag: samba-4.17.11~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=506e9a2d725b519f8f69d79504333e9293eb3557;p=thirdparty%2Fsamba.git mdssvc: add and use SL_PAGESIZE SL_PAGESIZE is the number of entries we want to process per paged search result set. This is different from MAX_SL_RESULTS which ought to be a default maximum value for total number of results returned for a search query. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15342 Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison (cherry picked from commit 086c2602d074d4dc0d44f5534857e5f59a8690b2) --- diff --git a/source3/rpc_server/mdssvc/mdssvc.h b/source3/rpc_server/mdssvc/mdssvc.h index 3b2ce250f1f..75e6fa9f320 100644 --- a/source3/rpc_server/mdssvc/mdssvc.h +++ b/source3/rpc_server/mdssvc/mdssvc.h @@ -36,6 +36,7 @@ #define MAX_SL_FRAGMENT_SIZE 0xFFFFF #define MAX_SL_RESULTS 100 +#define SL_PAGESIZE 100 #define MAX_SL_RUNTIME 30 #define MDS_TRACKER_ASYNC_TIMEOUT_MS 250 diff --git a/source3/rpc_server/mdssvc/mdssvc_es.c b/source3/rpc_server/mdssvc/mdssvc_es.c index dafb42610fa..c240a538169 100644 --- a/source3/rpc_server/mdssvc/mdssvc_es.c +++ b/source3/rpc_server/mdssvc/mdssvc_es.c @@ -398,7 +398,7 @@ static bool mds_es_search(struct sl_query *slq) .ev = mds_es_ctx->mdssvc_es_ctx->mdssvc_ctx->ev_ctx, .mds_es_ctx = mds_es_ctx, .slq = slq, - .size = MAX_SL_RESULTS, + .size = SL_PAGESIZE, }; /* 0 would mean no limit */ @@ -502,7 +502,7 @@ static void mds_es_search_done(struct tevent_req *subreq) goto trigger; } - if (slq->query_results->num_results >= MAX_SL_RESULTS) { + if (slq->query_results->num_results >= SL_PAGESIZE) { slq->state = SLQ_STATE_FULL; goto trigger; } @@ -693,7 +693,7 @@ static void mds_es_search_http_send_done(struct tevent_req *subreq) subreq = http_read_response_send(state, state->ev, state->s->mds_es_ctx->http_conn, - MAX_SL_RESULTS * 8192); + SL_PAGESIZE * 8192); if (tevent_req_nomem(subreq, req)) { return; }