]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
mdssvc: add and use SL_PAGESIZE
authorRalph Boehme <slow@samba.org>
Thu, 20 Apr 2023 15:24:30 +0000 (17:24 +0200)
committerJule Anger <janger@samba.org>
Mon, 31 Jul 2023 08:08:13 +0000 (08:08 +0000)
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 <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit 086c2602d074d4dc0d44f5534857e5f59a8690b2)

source3/rpc_server/mdssvc/mdssvc.h
source3/rpc_server/mdssvc/mdssvc_es.c

index 3b2ce250f1f1ccd944633595206556efd4973c6f..75e6fa9f3200b05dc88935048033c4610213888c 100644 (file)
@@ -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
 
index dafb42610fae3b2456fee21b4917e7a5e0ddb3fe..c240a5381695ba84e74863e497df2142be835a2c 100644 (file)
@@ -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;
        }