Re: pg_basebackup, pg_receivexlog and data durability (was: silent data loss with ext4 / all current versions) - Mailing list pgsql-hackers

From Jeff Janes
Subject Re: pg_basebackup, pg_receivexlog and data durability (was: silent data loss with ext4 / all current versions)
Date
Msg-id CAMkU=1xxvhC=zmg1o1k656cj46jw35NO=3CxTvp-+saWyY8+WQ@mail.gmail.com
Whole thread Raw
In response to Re: pg_basebackup, pg_receivexlog and data durability (was: silent data loss with ext4 / all current versions)  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: pg_basebackup, pg_receivexlog and data durability
Re: pg_basebackup, pg_receivexlog and data durability (was: silent data loss with ext4 / all current versions)
List pgsql-hackers
On Thu, Sep 29, 2016 at 8:33 AM, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
On 9/26/16 10:34 PM, Michael Paquier wrote:
> I thought that as long as the error string is shown to the user, it
> does not matter much if errno is still saved or not. All the callers
> of durable_rename() on frontends don't check for strerrno(errno)
> afterwards. Do you think it matters? Changing that back is trivial.
> Sorry for not mentioning directly in the thread that I modified that
> when dropping the last patch set.

Actually, I think the equivalent backend code only does this to save the
errno across the close call because the elog call comes after the close.
 So it's OK to not do that in the frontend.

With that in mind, I have committed the v3 series now.

I'm getting compiler warnings:

file_utils.c: In function 'fsync_pgdata':
file_utils.c:86: warning: passing argument 2 of 'walkdir' from incompatible pointer type
file_utils.c:36: note: expected 'int (*)(const char *, bool,  const char *)' but argument is of type 'void (*)(const char *, bool,  const char *)'
file_utils.c:88: warning: passing argument 2 of 'walkdir' from incompatible pointer type
file_utils.c:36: note: expected 'int (*)(const char *, bool,  const char *)' but argument is of type 'void (*)(const char *, bool,  const char *)'
file_utils.c:89: warning: passing argument 2 of 'walkdir' from incompatible pointer type
file_utils.c:36: note: expected 'int (*)(const char *, bool,  const char *)' but argument is of type 'void (*)(const char *, bool,  const char *)'

Cheers,

Jeff

pgsql-hackers by date:

Previous
From: Jesper Pedersen
Date:
Subject: Re: pageinspect: Hash index support
Next
From: Robert Haas
Date:
Subject: Re: Tracking wait event for latches