agora inbox for pgsql-committers@postgresql.org
help / color / mirror / Atom feedFrom: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: On Windows, make link(2) report ENOTSUP when appropriate.
Date: Fri, 31 Jul 2026 18:40:08 +0000
Message-ID: <E1wps9Q-0000000188j-3xKV@gemulon.postgresql.org> (raw)
On Windows, make link(2) report ENOTSUP when appropriate.
CreateHardLinkA reports ERROR_INVALID_FUNCTION if the target file
is on a filesystem that doesn't support hard links. _dosmaperr
maps that to EINVAL, which confuses zic.c into failure. zic.c is
expecting ENOTSUP if the filesystem lacks link support, and will
properly fall back to making a physical copy if it gets that.
Hence, add code to map ERROR_INVALID_FUNCTION to ENOTSUP.
(We could instead teach _dosmaperr to do that, but it's far from clear
that this would be appropriate as a global behavior: intuitively
it seems like EINVAL should be appropriate most of the time.)
We didn't need this before commit aeb07c55f, because the tzcode
version we were using before that didn't have this particular
error-handling logic. Hence, no back-patch for now; but if we
decide to back-patch tzcode 2026b or later, we'll need this too.
Author: Vladlen Popolitov <v.popolitov@postgrespro.ru>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/e6122f9b2eef9096f1f11ecc058bcd91@postgrespro.ru
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/481052c7754013d44a89f50912ba6845398f88df
Modified Files
--------------
src/port/win32link.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
Message-ID: <E1wps9Q-0000000188j-3xKV@gemulon.postgresql.org>
Permalink: ../E1wps9Q-0000000188j-3xKV@gemulon.postgresql.org/
Also on: postgresql.org/message-id/E1wps9Q-0000000188j-3xKV@gemulon.postgresql.org
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: tgl@sss.pgh.pa.us, pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: On Windows, make link(2) report ENOTSUP when appropriate.
In-Reply-To: <E1wps9Q-0000000188j-3xKV@gemulon.postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox