[Zlib-devel] pigz library ?

Denis Corbin dar.linux at free.fr
Tue Sep 28 12:29:40 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi All,

Some months ago a user of Disk ARchive (aka dar) [1] (a tar-like
command-line program that relies on libz library for compression) asked
for pigz support. Unfortunately pigz is a standalone executable. From
the discussion with Mark [2] a pigz library had been seen as a
possibility, but defining an API having only the library developer point
of view was not stated as the best approach to obtain a usable API.
Having also the user application side point of view in the definition
process (and also in the testing process!) would probably be an
additional warranty that the API fits the needs and that the library
works well.

So being the maintainer of dar, I've found interesting to participate in
this API design, proposing dar as user program for testing such library
and its API.

If such library is still of actuality, please find here (as briefly
described as possible) the dar point of view for that API. This is of
course a proposal, which is subject to comments, review, remarks ... !!! :-)

First point, dar actually does not make use of any temporary file. As
dar is mainly used for backup, this design choice was to be able to
backup a filesystem, even when it is 100% full or simply read-only
(using pipes to send the archive on a remote host, or using removable
media).

Second point, dar compresses files "inside" the archive: at the opposite
of tar which compresses the archive as a whole, dar compresses files one
by one and puts the resulting compressed data (which may also possibly
be cyphered) into the resulting archive file, either directly to
filesystem or through a pipe. For that reason, dar needs in memory
compression/decompression.

To make it simple, a libz-like API for in memory
compression/decompression would be perfect for dar
(deflateInit/inflateInit deflate/inflate  deflateEnd/inflateEnd ...
using a z_stream-like data structure). Any comment?

Thanks for reading,

Regards,
Denis Corbin.


[1] http://dar.linux.free.fr/
[2]
http://sourceforge.net/tracker/?func=detail&aid=2908554&group_id=65612&atid=511615


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFMohf0pC5CI8gYGlIRAo0QAKCT9lT+sDHX6qtnyjJIH8t97lkbwwCfcoav
NRSZz2PtPiakcelgQtrhziU=
=BNk+
-----END PGP SIGNATURE-----




More information about the Zlib-devel mailing list