From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: O_DIRECT on macOS |
Date: | 2021-07-19 23:23:48 |
Message-ID: | CA+hUKG+LdNTtPdEBPC=V=nVUMTE5CbVgS_ErpR7JQUs1pB1pKQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jul 20, 2021 at 2:13 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Hmm ... we used to have to avoid putting #if constructs in the arguments
> of macros (such as StaticAssertStmt). Maybe that's not a thing anymore
> with C99, and in any case this whole stanza is fairly platform-specific
> so we may not run into a compiler that complains. But my hindbrain wants
> to see this done with separate statements, eg
>
> #if defined(O_CLOEXEC)
> StaticAssertStmt((PG_O_DIRECT & O_CLOEXEC) == 0,
> "PG_O_DIRECT collides with O_CLOEXEC");
> #endif
Ok, done.
While I was here again, I couldn't resist trying to extend this to
Solaris, since it looked so easy. I don't have access, but I tested
on Illumos by undefining O_DIRECT. Thoughts?
Attachment | Content-Type | Size |
---|---|---|
0001-Support-direct-I-O-on-Solaris.patch | text/x-patch | 4.2 KB |
0002-XXX-Test.patch | text/x-patch | 1.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-07-19 23:43:07 | Re: O_DIRECT on macOS |
Previous Message | Daniel Gustafsson | 2021-07-19 23:23:42 | Re: OpenSSL 3.0.0 compatibility |