Re: Incorrect fsync handling in pg_basebackup's tar_finish

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: Incorrect fsync handling in pg_basebackup's tar_finish
Дата
Msg-id CABUevEw2_mG2Ma4Xhk2BkuXq3d67aGPRfBcMxUMaK5EvKcyzow@mail.gmail.com
обсуждение исходный текст
Ответ на Incorrect fsync handling in pg_basebackup's tar_finish  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: Incorrect fsync handling in pg_basebackup's tar_finish  (Kuntal Ghosh <kuntalghosh.2007@gmail.com>)
Список pgsql-hackers


On Mon, Jun 25, 2018 at 4:43 AM, Michael Paquier <michael@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?

Yup, that seems like an issue and a correct fix to me. 
--

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: [bug fix] ECPG: freeing memory for pgtypes crashes on Windows
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: PATCH: backtraces for error messages