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 *)'