Subject: Re: gzip and amanda conflict?
To: Mike M. Volokhov <email@example.com>
From: David Laight <firstname.lastname@example.org>
Date: 09/19/2005 08:02:59
On Mon, Sep 19, 2005 at 09:54:31AM +0300, Mike M. Volokhov wrote:
> AFAIU, there is gzip problem. Some time ago we have had switched out
> from GNU gzip. Right now, please look at the following code fragment
> (in_tot is a total size of bytes to compress):
> off_t in_tot = 0;
> i = snprintf(outbufp, BUFLEN, "%c%c%c%c%c%c%c%c",
> (int)crc & 0xff,
> (int)(crc >> 8) & 0xff,
> (int)(crc >> 16) & 0xff,
> (int)(crc >> 24) & 0xff,
> (int)in_tot & 0xff,
> (int)(in_tot >> 8) & 0xff,
> (int)(in_tot >> 16) & 0xff,
> (int)(in_tot >> 24) & 0xff);
> if (in_tot > 0xffffffff)
> maybe_warn("input file size >= 4GB cannot be saved");
> I.e. there are no room for reporting about more than 2^32=4G data.
> Later this also badly affects on "gzip -l" for files with uncompressed
> size more than specified volume. So...
The gzip file format doesn't allow a size >= 2^32 to be saved in the
archive trailer. Files >= 2^32 are saved correctly.
So I suspect the maybe_warn() is flipping the exit status....
David Laight: email@example.com