mkfs.jffs2 failing to use zlib to compress things

David Woodhouse dwmw2 at infradead.org
Tue Jul 30 18:48:49 EDT 2002


stewart.brodie at pace.co.uk said:
> I have been having problems with mkfs.jffs2 (with the fs/jffs2 files
> from a MIPS Linux 2.4.17 kernel) not compressing files as it
> constructs the filesystem image.  I have no idea whether this will
> affect the run-time behaviour or not - I've not got that far.  After
> inserting debugging into the compression routines, it appears that
> Z_STREAM_ERROR streaming errors are occurring when the data is being
> passed through zlib, and thus the simple rtime compression is being
> used instead.

> It looks like mkfs.jffs2 is driving zlib's compression routines in a
> bizarre way (c.f. the decompression which uses a trivial loop) passing
> only small blocks of data at a time.  Is that loop correct?  Why is
> Z_PARTIAL_FLUSH being used?  The errors I get are all "final deflate
> returned -2".

> Any ideas what might be causing this? 

We compress only a page of data at a time, so we can get at them easily on 
demand without having to decompress a larger stream and discard some of the 
result. Normally, we do only one call to zlib_deflate() with 
Z_PARTIAL_FLUSH, which manages to deflate the entire input buffer. Then we 
try to do the Z_FINISH. I don't know why that would cause an error.

This is the same code as we use in the kernel though -- so it's possible 
that the same error is occurring there.

--
dwmw2






More information about the linux-mtd mailing list