]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
aio: Simplify pgaio_worker_submit().
authorThomas Munro <tmunro@postgresql.org>
Sun, 5 Apr 2026 06:01:10 +0000 (18:01 +1200)
committerThomas Munro <tmunro@postgresql.org>
Sun, 5 Apr 2026 06:07:21 +0000 (18:07 +1200)
Merge pgaio_worker_submit_internal() and pgaio_worker_submit().  The
separation didn't serve any purpose.

Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/CA%2BhUKG%2Bm4xV0LMoH2c%3DoRAdEXuCnh%2BtGBTWa7uFeFMGgTLAw%2BQ%40mail.gmail.com

src/backend/storage/aio/method_worker.c

index efe38e9f1134f678c582b84a55202796c2cf200c..e24357a7a0a2382404b7473ac9b8c22f5f1dc9ee 100644 (file)
@@ -239,8 +239,8 @@ pgaio_worker_needs_synchronous_execution(PgAioHandle *ioh)
                || !pgaio_io_can_reopen(ioh);
 }
 
-static void
-pgaio_worker_submit_internal(int num_staged_ios, PgAioHandle **staged_ios)
+static int
+pgaio_worker_submit(uint16 num_staged_ios, PgAioHandle **staged_ios)
 {
        PgAioHandle **synchronous_ios = NULL;
        int                     nsync = 0;
@@ -249,6 +249,9 @@ pgaio_worker_submit_internal(int num_staged_ios, PgAioHandle **staged_ios)
 
        Assert(num_staged_ios <= PGAIO_SUBMIT_BATCH_SIZE);
 
+       for (int i = 0; i < num_staged_ios; i++)
+               pgaio_io_prepare_submit(staged_ios[i]);
+
        if (LWLockConditionalAcquire(AioWorkerSubmissionQueueLock, LW_EXCLUSIVE))
        {
                for (int i = 0; i < num_staged_ios; ++i)
@@ -299,19 +302,6 @@ pgaio_worker_submit_internal(int num_staged_ios, PgAioHandle **staged_ios)
                        pgaio_io_perform_synchronously(synchronous_ios[i]);
                }
        }
-}
-
-static int
-pgaio_worker_submit(uint16 num_staged_ios, PgAioHandle **staged_ios)
-{
-       for (int i = 0; i < num_staged_ios; i++)
-       {
-               PgAioHandle *ioh = staged_ios[i];
-
-               pgaio_io_prepare_submit(ioh);
-       }
-
-       pgaio_worker_submit_internal(num_staged_ios, staged_ios);
 
        return num_staged_ios;
 }