From f79962d8264b8d205ce45a8aa11d1b37f9592a81 Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@paquier.xyz>
Date: Wed, 24 Nov 2021 20:12:54 +0900
Subject: [PATCH] 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
---
 src/bin/pg_basebackup/walmethods.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/pg_basebackup/walmethods.c b/src/bin/pg_basebackup/walmethods.c
index fe6b034637..affdc5055f 100644
--- a/src/bin/pg_basebackup/walmethods.c
+++ b/src/bin/pg_basebackup/walmethods.c
@@ -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);