Line data Source code
1 : /*-------------------------------------------------------------------------
2 : *
3 : * method_sync.c
4 : * AIO - perform "AIO" by executing it synchronously
5 : *
6 : * This method is mainly to check if AIO use causes regressions. Other IO
7 : * methods might also fall back to the synchronous method for functionality
8 : * they cannot provide.
9 : *
10 : * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
11 : * Portions Copyright (c) 1994, Regents of the University of California
12 : *
13 : * IDENTIFICATION
14 : * src/backend/storage/aio/method_sync.c
15 : *
16 : *-------------------------------------------------------------------------
17 : */
18 :
19 : #include "postgres.h"
20 :
21 : #include "storage/aio.h"
22 : #include "storage/aio_internal.h"
23 :
24 : static bool pgaio_sync_needs_synchronous_execution(PgAioHandle *ioh);
25 : static int pgaio_sync_submit(uint16 num_staged_ios, PgAioHandle **staged_ios);
26 :
27 :
28 : const IoMethodOps pgaio_sync_ops = {
29 : .needs_synchronous_execution = pgaio_sync_needs_synchronous_execution,
30 : .submit = pgaio_sync_submit,
31 : };
32 :
33 :
34 :
35 : static bool
36 36 : pgaio_sync_needs_synchronous_execution(PgAioHandle *ioh)
37 : {
38 36 : return true;
39 : }
40 :
41 : static int
42 0 : pgaio_sync_submit(uint16 num_staged_ios, PgAioHandle **staged_ios)
43 : {
44 0 : elog(ERROR, "IO should have been executed synchronously");
45 :
46 : return 0;
47 : }
|