I have a report[1] that tzcode 2026b fails on Windows filesystems
that lack hard links, because it copes if link() fails with
ENOTSUP but what is actually returned is EINVAL. I suggest
something along the lines of
if (link(target, outname) == 0) {
link_errno = 0;
break;
}
link_errno = errno;
+ /* Windows returns EINVAL if filesystem lacks hard links. */
+ if (link_errno == EINVAL)
+ link_errno = ENOTSUP;
}
paralleling the workaround for ancient Linux a few lines above.
regards, tom lane
[1]
https://www.postgresql.org/message-id/e6122f9b2eef9096f1f11ecc058bcd91%40postgrespro.ru