On Mon, Jun 25, 2018 at 2:27 PM, Magnus Hagander <mag...@hagander.net> wrote: > > > On Mon, Jun 25, 2018 at 4:43 AM, Michael Paquier <mich...@paquier.xyz> > wrote: >> >> Hi all, >> >> I was just looking at the code of pg_basebackup, and noticed that we >> don't actually check if the two last empty blocks of any tar file >> produced are correctly fsync'd or not: >> @@ -957,7 +957,10 @@ tar_finish(void) >> >> /* sync the empty blocks as well, since they're after the last file */ >> if (tar_data->sync) >> - fsync(tar_data->fd); >> + { >> + if (fsync(tar_data->fd) != 0) >> + return false; >> + } >> >> That looks incorrect to me, hence shouldn't something like the attached >> be done? Magnus and others, any opinions? In the same note, in tar_close(), we fsync on close. We're not checking the status of fsync there. Should we introduce the same check there as well?
-- Thanks & Regards, Kuntal Ghosh EnterpriseDB: http://www.enterprisedb.com