On Thu, 21 Aug 2008, Artem Bityutskiy wrote: > On Wed, 2008-08-20 at 22:46 -0700, Jared Hulbert wrote: > > + err = zlib_inflateReset(&stream); > > + if (err != Z_OK) { > > + printk(KERN_ERR "zlib_inflateReset error %d\n", err); > > + zlib_inflateEnd(&stream); > > + zlib_inflateInit(&stream); > > + } > > just FYI, are you aware that LZO which is also present in the kernel is > much faster on decompress than zlib, while its compression is only > slightly worse?
If you want support for multiple decompression algorithms, you can switch from using zlib_inflate*() directly to calling zlib through the crypto API. Then you can call crypto_alloc_comp() with the correct decompression algorithm name. For squashfs, I had to modify only ca. 40 lines of code. You do need a new zlib crypto module, as the existing deflate crypto module uses the raw deflate format instead of the zlib format, and has some parameters tuned for its use in IPSec. I hope to have some patches ready next week... With kind regards, Geert Uytterhoeven Software Architect Sony Techsoft Centre Europe The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium Phone: +32 (0)2 700 8453 Fax: +32 (0)2 700 8622 E-mail: [EMAIL PROTECTED] Internet: http://www.sony-europe.com/ A division of Sony Europe (Belgium) N.V. VAT BE 0413.825.160 · RPR Brussels Fortis · BIC GEBABEBB · IBAN BE41293037680010