> On 13 Jul 2021, at 20:00, Alexander Lakhin <exclus...@gmail.com> wrote: > > Hello Michael, > 12.07.2021 08:52, Michael Paquier wrote: >> On Mon, Jul 12, 2021 at 02:09:41PM +0900, Michael Paquier wrote: >> >>> And fairywren, that uses MinGW, is unhappy: >>> >>> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fairywren&dt=2021-07-12%2004%3A47%3A13 >>> >>> Looking at it now. >>> >> I am not sure what to do here to cool down MinGW, so the patch has >> been reverted for now: >> - Plain stat() is not enough to do a proper detection of the files >> pending for deletion on MSVC, so reverting only the part with >> microsoft_native_stat() is not going to help. >> - We are going to need an evaluation of the stat() implementation in >> MinGW and check if is it possible to rely on it more. If yes, we >> could get away with more tweaks based on __MINGW32__/__MINGW64__. >> > I've managed to adapt open/win32stat for MinGW by preventing stat overriding > at the implementation level. Thus, the code that calls stat() will use the > overridden struct/function(s), but inside of open/win32_stat we could access > original stat and reference to __pgstat64 where we want to use our. > Tested on MSVC, MinGW64 and MinGW32 — the fixed code compiles everywhere. > > But when using perl from msys (not ActivePerl) while testing I've got the > same test failure due to another error condition: > > <ghffjapimnefdgac.png> > > In this case CreateFile() fails with ERROR_SHARING_VIOLATION (not > ERROR_ACCESS_DENIED) and it leads to the same "Permission denied" error. This > condition is handled in the pgwin32_open() but not in _pgstat64() yet. > > I think I should develop another test for MSVC environment that will > demonstrate a such failure too. > But as it's not related to the DELETE_PENDING state, I wonder whether this > should be fixed in a separate patch.
Michael, have you had a chance to look at the updated patch here? I'm moving this patch entry from Waiting on Author to Needs Review. -- Daniel Gustafsson https://vmware.com/