Re: [RFC] CryptoAPI & Compression

Artem B. Bityuckiy
2005-04-01T15:23:10Z

David Woodhouse wrote:
> On Fri, 2005-04-01 at 18:57 +0400, Artem B. Bityuckiy wrote:
>
>>Yes, the compression will be better. But the implementation will be more
>>complicated.
>>We can try to use the "bound" functions to predict how many bytes to
>>pass to the deflate's input, but there is no guarantee they'll fit into
>>the output buffer. In this case we'll need to try again.
>
>
> Can we not predict the maximum number of bytes it'll take to flush the
> stream when we're not using Z_SYNC_FLUSH?

AFAIU, no. Zlib may eat a lot of input and do not produce much output, but
on Z_FINISH it may ask an undetermined amount of additional output space.
So, we must even regulate the amount of input we pass to zlib_deflate().
In case of Z_SYNC_FLUSH, things are more determined.

Another question, does JFFSx *really* need the peaces of a 4K page to be
independently uncompressable? It it wouldn't be required, we would achieve
better compression if we have saved the zstream state. :-) But it is too
late to change things at least for JFFS2.