On Mon, Apr 09, 2018 at 12:37:03PM -0700, Andres Freund wrote: > > > On April 9, 2018 12:26:21 PM PDT, Anthony Iliopoulos <ail...@altatus.com> > wrote: > > >I honestly do not expect that keeping around the failed pages will > >be an acceptable change for most kernels, and as such the > >recommendation > >will probably be to coordinate in userspace for the fsync(). > > Why is that required? You could very well just keep per inode information > about fatal failures that occurred around. Report errors until that bit is > explicitly cleared. Yes, that keeps some memory around until unmount if > nobody clears it. But it's orders of magnitude less, and results in usable > semantics.
As discussed before, I think this could be acceptable, especially if you pair it with an opt-in mechanism (only applications that care to deal with this will have to), and would give it a shot. Still need a way to deal with all other systems and prior kernel releases that are eating fsync() writeback errors even over sync(). Best regards, Anthony