Remove useless LZ4 system call on failure when writing file header

If an error occurs when writing the LZ4 file header, LZ4F_compressEnd()
was called in the error code path of write(), followed by
LZ4F_freeCompressionContext() to finish the cleanup.  The code as-is was
not broken, but the LZ4F_compressEnd() proves to not be necessary as
there are no contents to flush at this stage, so remove it.

Per gripe from Jeevan Ladhe and Robert Haas.

Discussion: https://postgr.es/m/CAOgcT0PE33wbD7giAT1OSkNJt=p-vu8huq++qh=ny9O=SCP5aA@mail.gmail.com
This commit is contained in:
Michael Paquier 2021-11-24 20:12:54 +09:00
parent 411137a429
commit f79962d826

View File

@ -193,7 +193,6 @@ dir_open_for_write(const char *pathname, const char *temp_suffix, size_t pad_to_
{
/* If write didn't set errno, assume problem is no disk space */
dir_data->lasterrno = errno ? errno : ENOSPC;
(void) LZ4F_compressEnd(ctx, lz4buf, lz4bufsize, NULL);
(void) LZ4F_freeCompressionContext(ctx);
pg_free(lz4buf);
close(fd);