On Fri, Nov 19, 2021 at 7:37 AM Michael Paquier <michael@paquier.xyz> wrote:
On Thu, Nov 18, 2021 at 07:54:37PM +0530, Jeevan Ladhe wrote: > In dir_open_for_write() I observe that we are writing the header > and then calling LZ4F_compressEnd() in case there is an error > while writing the buffer to the file, and the output buffer of > LZ4F_compressEnd() is not written anywhere. Why should this be > necessary? To flush the contents of the internal buffer? But, then we > are calling LZ4F_freeCompressionContext() immediately after the > LZ4F_compressEnd() call. I might be missing something, will be > happy to get more insights.
My concern here was symmetry, where IMO it makes sense to have a compressEnd call each time there is a successful compressBegin call done for the LZ4 state data, as there is no way to know if in the future LZ4 won't change some of its internals to do more than just an internal flush.
Fair enough. But, still I have a doubt in mind what benefit would that
really bring to us here, because we are immediately also freeing the