From 1ba0c4bb3595ad2d15cd378e989933a883c8f77e Mon Sep 17 00:00:00 2001 From: Stelian Pop Date: Wed, 2 Mar 2005 08:46:54 +0000 Subject: [PATCH] Fix a bug where dump miscalculates the tape size based on -d/-s --- CHANGES | 7 ++++++- dump/tape.c | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 40e3dc1..b57c960 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,4 @@ -$Id: CHANGES,v 1.271 2005/01/25 13:33:41 stelian Exp $ +$Id: CHANGES,v 1.272 2005/03/02 08:46:54 stelian Exp $ Changes between versions 0.4b39 and 0.4b40 (released ????????????????) ====================================================================== @@ -15,6 +15,11 @@ Changes between versions 0.4b39 and 0.4b40 (released ????????????????) Thanks to Kenneth Porter for the bug report. +3. Fixed a bug in dump where the tape size was miscalculated when + the user used -d/-s to specify the tape characteristics. Thanks + to Philip Goisman for reporting + the bug. + Changes between versions 0.4b38 and 0.4b39 (released January 21, 2005) ====================================================================== diff --git a/dump/tape.c b/dump/tape.c index 6f829f8..89f630d 100644 --- a/dump/tape.c +++ b/dump/tape.c @@ -37,7 +37,7 @@ #ifndef lint static const char rcsid[] = - "$Id: tape.c,v 1.87 2004/11/22 10:32:32 stelian Exp $"; + "$Id: tape.c,v 1.88 2005/03/02 08:46:55 stelian Exp $"; #endif /* not lint */ #include @@ -420,6 +420,10 @@ flushtape(void) int siz = (char *)nextblock - (char *)slp->req; + /* make sure returned has sane values in case we don't read + * them from the slave in this pass */ + returned.unclen = returned.clen = writesize; + slp->req[trecno].count = 0; /* Sentinel */ if (dump_atomic_write( slp->fd, (char *)slp->req, siz) != siz) @@ -620,6 +624,10 @@ rollforward(void) tslp = &slaves[SLAVES]; ntb = (union u_spcl *)tslp->tblock[1]; + /* make sure returned has sane values in case we don't read + * them from the slave in this pass */ + returned.unclen = returned.clen = writesize; + /* * Each of the N slaves should have requests that need to * be replayed on the next tape. Use the extra slave buffers -- 2.39.2