-$Id: CHANGES,v 1.126 2001/07/20 09:01:44 stelian Exp $
+$Id: CHANGES,v 1.127 2001/07/20 11:02:45 stelian Exp $
Changes between versions 0.4b22 and 0.4b23 (released ????????????)
==================================================================
6. Changed the -B option of dump to limit the size of
_compressed_ output per volume if compression is on.
Patch contributed by Helmut Jarausch
- <jarausch@igpm.rwth-aachen.de>.
+ <jarausch@igpm.rwth-aachen.de>. Note however that, since
+ it is impossible to predict the size of the compressed
+ data before doing the compression, the -B limit is a bit
+ conservative.
7. Fixed a bug in reading the operator typed file/tape path for
the next volume in restore.
* Stelian Pop <pop@noos.fr>, 1999-2000
* Stelian Pop <pop@noos.fr> - AlcĂ´ve <www.alcove.fr>, 2000
*
- * $Id: dump.h,v 1.28 2001/07/19 09:49:35 stelian Exp $
+ * $Id: dump.h,v 1.29 2001/07/20 11:02:45 stelian Exp $
*/
/*-
long tapesize; /* estimated tape size, blocks */
long tsize; /* tape size in 0.1" units */
long asize; /* number of 0.1" units written on current tape */
-unsigned long csize; /* number of compressed bytes written on current tape */
int etapes; /* estimated number of tapes */
int nonodump; /* if set, do not honor UF_NODUMP user flags */
int unlimited; /* if set, write to end of medium */
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.52 2001/07/20 09:01:46 stelian Exp $";
+ "$Id: tape.c,v 1.53 2001/07/20 11:02:45 stelian Exp $";
#endif /* not lint */
#include <config.h>
nextblock = slp->tblock;
trecno = 0;
asize += tenths + returned.clen / density;
- csize += returned.clen;
blockswritten += ntrec;
blocksthisvol += ntrec;
if (!pipeout && !unlimited) {
if (blocksperfile) {
- if ( compressed ? csize + writesize >= blocksperfile * 1024
+ if ( compressed ? (bytes_written - tapea_bytes + SLAVES * (writesize + sizeof(struct tapebuf))) >= blocksperfile * 1024
: blocksthisvol >= blocksperfile ) {
close_rewind();
startnewtape(0);
slp->count = lastspclrec + blks + 1 - spcl.c_tapea;
slp->inode = curino;
asize += tenths + returned.clen / density;
- csize += returned.clen;
blockswritten += ntrec;
blocksthisvol += ntrec;
#endif
enslave(); /* Share open tape file descriptor with slaves */
asize = 0;
- csize = 0;
blocksthisvol = 0;
if (top)
newtape++; /* new tape signal */