Commit
f54af9f2679d added a check for
io_uring_queue_init_mem(). However, it used the macro name
HAVE_LIBURING_QUEUE_INIT_MEM in both meson.build and the C code, while
the Autotools build script defined HAVE_IO_URING_QUEUE_INIT_MEM. As a
result, the optimization was never enabled in builds configured with
Autotools, as the C code checked for the wrong macro name.
This commit changes the macro name to HAVE_IO_URING_QUEUE_INIT_MEM in
meson.build and the C code. This matches the actual function
name (io_uring_queue_init_mem), following the standard HAVE_<FUNCTION>
convention.
Backpatch to 18, where the macro was introduced.
Bug: #19368
Reported-by: Evan Si <evsi@amazon.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/19368-
016d79a7f3a1c599@postgresql.org
Backpatch-through: 18
if cc.has_function('io_uring_queue_init_mem',
dependencies: liburing, args: test_c_args)
- cdata.set('HAVE_LIBURING_QUEUE_INIT_MEM', 1)
+ cdata.set('HAVE_IO_URING_QUEUE_INIT_MEM', 1)
endif
endif
* also has a secondary benefit: We can determine precisely how much
* memory we need for each io_uring instance.
*/
-#if defined(HAVE_LIBURING_QUEUE_INIT_MEM) && defined(IORING_SETUP_NO_MMAP)
+#if defined(HAVE_IO_URING_QUEUE_INIT_MEM) && defined(IORING_SETUP_NO_MMAP)
{
struct io_uring test_ring;
size_t ring_size;
* with its data in shared memory. Otherwise fall back io_uring
* creating a memory mapping for each ring.
*/
-#if defined(HAVE_LIBURING_QUEUE_INIT_MEM) && defined(IORING_SETUP_NO_MMAP)
+#if defined(HAVE_IO_URING_QUEUE_INIT_MEM) && defined(IORING_SETUP_NO_MMAP)
if (pgaio_uring_caps.mem_init_size > 0)
{
struct io_uring_params p = {0};