Re: Direct I/O

From: Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Christoph Berg <myon(at)debian(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Direct I/O
Date: 2023-04-12 14:23:58
Message-ID: 878rexrxfl.fsf@wibble.ilmari.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:

> On 2023-04-12 We 01:48, Thomas Munro wrote:
>> On Wed, Apr 12, 2023 at 3:04 PM Thomas Munro<thomas(dot)munro(at)gmail(dot)com> wrote:
>>> On Wed, Apr 12, 2023 at 2:56 PM Christoph Berg<myon(at)debian(dot)org> wrote:
>>>> I'm hitting a panic in t_004_io_direct. The build is running on
>>>> overlayfs on tmpfs/ext4 (upper/lower) which is probably a weird
>>>> combination but has worked well for building everything over the last
>>>> decade. On Debian unstable:
>>>>
>>>> PANIC: could not open file "pg_wal/000000010000000000000001": Invalid argument
>>> ... I have a new idea: perhaps it is possible to try
>>> to open a file with O_DIRECT from perl, and if it fails like that,
>>> skip the test. Looking into that now.
>> I think I have that working OK. Any Perl hackers want to comment on
>> my use of IO::File (copied from examples on the internet that showed
>> how to use O_DIRECT)? I am not much of a perl hacker but according to
>> my package manager, IO/File.pm came with perl itself. And the Fcntl
>> eval trick that I copied from File::stat, and the perl-critic
>> suppression that requires?
>
>
> I think you can probably replace a lot of the magic here by simply saying
>
>
> if (Fcntl->can("O_DIRECT")) ...

Fcntl->can() is true for all constants that Fcntl knows about, whether
or not they are defined for your OS. `defined &O_DIRECT` is the simplest
check, see my other reply to Thomas.

> cheers
>
>
> andrew

- ilmari

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andy Fan 2023-04-12 14:28:34 Re: Fix incorrect start up costs for WindowAgg paths (bug #17862)
Previous Message Dagfinn Ilmari Mannsåker 2023-04-12 13:31:26 Re: Direct I/O