diff options
| author | bouyer <bouyer@NetBSD.org> | 2015-08-24 17:37:10 +0000 |
|---|---|---|
| committer | bouyer <bouyer@NetBSD.org> | 2015-08-24 17:37:10 +0000 |
| commit | 7fb3cdc10643f172ea42272d9baf2c0c0adadf5f (patch) | |
| tree | 6f60a8e7047f7d24341e441908ce25cb3c6d12b8 /sbin/dump | |
| parent | 4c6a59c2755453f3570373d25b139b4b0f91b011 (diff) | |
Consistently use iswap64() and 64bit intermediate variable, as well as
64bit formats for c_tapea. Fixes tape useage report for large filesystems.
Diffstat (limited to 'sbin/dump')
| -rw-r--r-- | sbin/dump/main.c | 10 | ||||
| -rw-r--r-- | sbin/dump/tape.c | 17 |
2 files changed, 14 insertions, 13 deletions
diff --git a/sbin/dump/main.c b/sbin/dump/main.c index a85458610ef..1be31d87de1 100644 --- a/sbin/dump/main.c +++ b/sbin/dump/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.72 2015/08/24 17:34:03 bouyer Exp $ */ +/* $NetBSD: main.c,v 1.73 2015/08/24 17:37:10 bouyer Exp $ */ /*- * Copyright (c) 1980, 1991, 1993, 1994 @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1991, 1993, 1994\ #if 0 static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/1/95"; #else -__RCSID("$NetBSD: main.c,v 1.72 2015/08/24 17:34:03 bouyer Exp $"); +__RCSID("$NetBSD: main.c,v 1.73 2015/08/24 17:37:10 bouyer Exp $"); #endif #endif /* not lint */ @@ -641,10 +641,10 @@ main(int argc, char *argv[]) for (i = 0; i < ntrec; i++) writeheader(maxino - 1); if (pipeout) - msg("%d tape blocks\n",iswap32(spcl.c_tapea)); + msg("%lld tape blocks\n",(long long)iswap64(spcl.c_tapea)); else - msg("%d tape blocks on %d volume%s\n", - iswap32(spcl.c_tapea), iswap32(spcl.c_volume), + msg("%lld tape blocks on %d volume%s\n", + (long long)iswap64(spcl.c_tapea), iswap32(spcl.c_volume), (iswap32(spcl.c_volume) == 1) ? "" : "s"); tnow = do_stats(); date = iswap32(spcl.c_date); diff --git a/sbin/dump/tape.c b/sbin/dump/tape.c index 9a4da5d8e8e..96b78cf05f8 100644 --- a/sbin/dump/tape.c +++ b/sbin/dump/tape.c @@ -1,4 +1,4 @@ -/* $NetBSD: tape.c,v 1.53 2013/06/15 01:27:19 christos Exp $ */ +/* $NetBSD: tape.c,v 1.54 2015/08/24 17:37:10 bouyer Exp $ */ /*- * Copyright (c) 1980, 1991, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)tape.c 8.4 (Berkeley) 5/1/95"; #else -__RCSID("$NetBSD: tape.c,v 1.53 2013/06/15 01:27:19 christos Exp $"); +__RCSID("$NetBSD: tape.c,v 1.54 2015/08/24 17:37:10 bouyer Exp $"); #endif #endif /* not lint */ @@ -333,7 +333,7 @@ flushtape(void) if (spcl.c_addr[i] != 0) blks++; } - slp->count = lastspclrec + blks + 1 - iswap32(spcl.c_tapea); + slp->count = lastspclrec + blks + 1 - iswap64(spcl.c_tapea); slp->tapea = iswap64(spcl.c_tapea); slp->firstrec = lastfirstrec + ntrec; slp->inode = curino; @@ -457,7 +457,8 @@ rollforward(void) { struct req *p, *q, *prev; struct slave *tslp; - int i, size, savedtapea, got; + int i, size, got; + int64_t savedtapea; union u_spcl *ntb, *otb; tslp = &slaves[SLAVES]; ntb = (union u_spcl *)tslp->tblock[1]; @@ -498,10 +499,10 @@ rollforward(void) q->count = 1; trecno = 0; nextblock = tslp->tblock; - savedtapea = iswap32(spcl.c_tapea); - spcl.c_tapea = iswap32(slp->tapea); + savedtapea = iswap64(spcl.c_tapea); + spcl.c_tapea = iswap64(slp->tapea); startnewtape(0); - spcl.c_tapea = iswap32(savedtapea); + spcl.c_tapea = iswap64(savedtapea); lastspclrec = savedtapea - 1; } size = (char *)ntb - (char *)q; @@ -579,7 +580,7 @@ startnewtape(int top) interrupt_save = signal(SIGINT, SIG_IGN); parentpid = getpid(); - tapea_volume = iswap32(spcl.c_tapea); + tapea_volume = iswap64(spcl.c_tapea); (void)time(&tstart_volume); restore_check_point: |
