summaryrefslogtreecommitdiff
path: root/sbin/dump
diff options
context:
space:
mode:
authorbouyer <bouyer@NetBSD.org>2015-08-24 17:37:10 +0000
committerbouyer <bouyer@NetBSD.org>2015-08-24 17:37:10 +0000
commit7fb3cdc10643f172ea42272d9baf2c0c0adadf5f (patch)
tree6f60a8e7047f7d24341e441908ce25cb3c6d12b8 /sbin/dump
parent4c6a59c2755453f3570373d25b139b4b0f91b011 (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.c10
-rw-r--r--sbin/dump/tape.c17
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: