From: Andreas Karlsson <[email protected]>
Sent: Wednesday, January 14, 2026 11:09
To: Steven Niu <[email protected]>; Pierre <[email protected]>;
[email protected] <[email protected]>
Subject: Re: [PATCH] check kernel version for io_method
On 1/14/26 3:31 AM, Steven Niu wrote:
> BTW, the error message in the following code block is wrong as it locates in
> branch that IO_URING is not enabled.
>
> #else
> + if (*newval == IOMETHOD_WORKER || *newval == IOMETHOD_SYNC)
> + {
> + /*
> + * OK
> + */
> + }
> + else
> + {
> + GUC_check_errdetail("io_uring requires Linux kernel 5.6 or
> later.");
> + return false;
> + }
That code is unreachable so it should just be deleted. Look at the enum.
/* Enum for io_method GUC. */
typedef enum IoMethod
{
IOMETHOD_SYNC = 0,
IOMETHOD_WORKER,
#ifdef IOMETHOD_IO_URING_ENABLED
IOMETHOD_IO_URING,
#endif
} IoMethod;
Andreas
________________________________________
Hi, Andreas,
I agree that you are correct for now. But in future, the IoMethod may have new
member. Then we have to process it.
How about change to like this:
+ #else
+ if (*newval == IOMETHOD_IO_URING)
+ {
+ GUC_check_errdetail("io_uring not enabled.");
+ return false;
+ }
Thanks,
Steven