On Fri, Apr 13, 2018 at 11:26:52AM +1200, Thomas Munro wrote:

> Hello,
> 
> I work on PostgreSQL.  I don't use OpenBSD, but recently I've been
> investigating how fsync() reports write-back errors on all operating
> systems that people like to run PostgreSQL on:
> 
> https://wiki.postgresql.org/wiki/Fsync_Errors
> 
> It seems to me that on OpenBSD, asynchronous write-back errors might
> not be reported to userspace in a subsequent call to fsync(), and
> synchronous write-back errors that are reported to userspace might not
> be reported in a follow-up call to fsync() (that is, retrying will
> appear to be successful but in fact your data is gone).
> 
> Am I wrong?  Perhaps some other code elsewhere will record the error
> at device, filesystem or inode level?  I didn't try to test this: I
> simply compared the brelse() error handling code with that of FreeBSD
> and NetBSD whose behaviours are known to be correct and incorrect
> respectively, according to our assessment of what fsync() *should* do.
> (Or at least the behaviour that PostgreSQL relies on, when it reports
> that your data exists on disk as part of its checkpoint protocol).
> OpenBSD certainly appears to be like NetBSD in this respect, so I
> thought it was worth pinging your list and asking for an expert
> opinion.
> 
> Do you think that my suspicion is correct?  Would you consider that to
> be a bug?
> 
> Thanks!
> 
> Thomas Munro

Hi,

I noticed this report, but I did not have time to look into this yet.
Either I will be looking into this the coming time, or I'll try to
find another developer.

        -Otto

Reply via email to