Re: stat() vs ERROR_DELETE_PENDING, round N + 1
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>, Alexander Lakhin <exclusion@gmail.com>, Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-12-09T08:16:57Z
Lists: pgsql-hackers
Attachments
- v5-0001-Check-for-STATUS_DELETE_PENDING-on-Windows.patch (text/x-patch) patch v5-0001
On Mon, Dec 6, 2021 at 9:17 PM Thomas Munro <thomas.munro@gmail.com> wrote: > On Sat, Dec 4, 2021 at 6:18 PM Thomas Munro <thomas.munro@gmail.com> wrote: > > I think this was broken by WIN32_LEAN_AND_MEAN (and since gained a > > merge conflict, but that's easy to fix). I'll try to figure out the > > right system header hacks to unbreak it... > > Short version: It needed <winternl.h>. Slightly improvement: now I include <winternl.h> only from src/port/open.c and src/port/win32ntdll.c, so I avoid the extra include for the other ~1500 translation units. That requires a small extra step to work, see comment in win32ntdll.h. I checked that this still cross-compiles OK under mingw on Linux. This is the version that I'm planning to push to master only tomorrow if there are no objections.
Commits
-
Check for STATUS_DELETE_PENDING on Windows.
- e2f0f8ed251d 15.0 landed
-
Fix our Windows stat() emulation to handle file sizes > 4GB.
- bed90759fcbc 14.0 cited
-
Attempt to handle pending-delete files on Windows
- 9951741bbeb3 10.0 cited