Hi, On 2019-02-20 11:25:22 +1300, Thomas Munro wrote: > This seems to make sense, and has the advantage that it uses > interfaces that exist right now. But it seems a bit like we'll have > to wait for them to finish building out the errseq_t support for NFS > to avoid various races around the mapping's AS_EIO flag (A: fsync() -> > EIO, B: fsync() -> SUCCESS, log checkpoint; A: panic), and then maybe > we'd have to get at least one of { fd-passing, direct IO, threads } > working on our side ...
I think we could "just" make use of DIO for relation extensions when detecting NFS. Given that we just about never actually read the result of the file extension write, just converting that write to DIO shouldn't have that bad an overall impact - of course it'll cause slowdowns, but only while extending files. And that ought to handle ENOSPC correctly, while leaving the EIO handling separate? Greetings, Andres Freund