When performing a tar on a bz2 compressed file I am encountering the following error,
tar: dump.sql: File shrank by 19573448400 bytes; padding with zeros
Can anyone point what might be causing this issue ?
It's not an error. It's INFO.
I'm willing to bet you're compressing/decompressing a Virtual Machine image, or otherwise sparsely-allocated file.
Bzip2 has detected that the file is mostly zeroes, and compressed it so that they're not there in the compressed file.
This is the difference between actual size and apparent size of sparse files.
The file in question was called
dump.sql, so probably not a bz2 compressed file. – In any case, the problem has nothing to do with bz2 or type of content of the file.
The message means, that a
stat() on the file reported a different size than the amount which could actually be read from the file. This may happen, if the file was changed while
tar was working.
This also happens on “virtual files” like the ones on Linux’ /sys filesystem. Many of them are reported with 4096 Bytes in size (an arbitrary value). Once
read(), they only return a couple of bytes.