diff options
author | Andres Freund | 2025-03-17 22:51:33 +0000 |
---|---|---|
committer | Andres Freund | 2025-03-17 22:51:33 +0000 |
commit | 02844012b304ba80d1c48d51f6fe10bb622490cc (patch) | |
tree | c7753eb6c900a00ebdaa2311b87aefbb21d9f588 /src/include/storage/aio_subsys.h | |
parent | 65db3963ae7154b8f01e4d73dc6b1ffd81c70e1e (diff) |
aio: Basic subsystem initialization
This commit just does the minimal wiring up of the AIO subsystem, added in the
next commit, to the rest of the system. The next commit contains more details
about motivation and architecture.
This commit is kept separate to make it easier to review, separating the
changes across the tree, from the implementation of the new subsystem.
We discussed squashing this commit with the main commit before merging AIO,
but there has been a mild preference for keeping it separate.
Reviewed-by: Heikki Linnakangas <[email protected]>
Reviewed-by: Noah Misch <[email protected]>
Discussion: https://postgr.es/m/uvrtrknj4kdytuboidbhwclo4gxhswwcpgadptsjvjqcluzmah%40brqs62irg4dt
Diffstat (limited to 'src/include/storage/aio_subsys.h')
-rw-r--r-- | src/include/storage/aio_subsys.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/include/storage/aio_subsys.h b/src/include/storage/aio_subsys.h new file mode 100644 index 00000000000..2a6ca1c27a9 --- /dev/null +++ b/src/include/storage/aio_subsys.h @@ -0,0 +1,33 @@ +/*------------------------------------------------------------------------- + * + * aio_subsys.h + * Interaction with AIO as a subsystem, rather than actually issuing AIO + * + * This header is for AIO related functionality that's being called by files + * that don't perform AIO, but interact with the AIO subsystem in some + * form. E.g. postmaster.c and shared memory initialization need to initialize + * AIO but don't perform AIO. + * + * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/storage/aio_subsys.h + * + *------------------------------------------------------------------------- + */ +#ifndef AIO_SUBSYS_H +#define AIO_SUBSYS_H + + +/* aio_init.c */ +extern Size AioShmemSize(void); +extern void AioShmemInit(void); + +extern void pgaio_init_backend(void); + + +/* aio.c */ +extern void pgaio_error_cleanup(void); +extern void AtEOXact_Aio(bool is_commit); + +#endif /* AIO_SUBSYS_H */ |