Module Name: src Committed By: dholland Date: Sat Oct 3 08:28:46 UTC 2015
Modified Files: src/sbin/fsck_lfs: lfs.c src/usr.sbin/dumplfs: dumplfs.c Log Message: Apply IINFO in the other userland tools. To generate a diff of this commit: cvs rdiff -u -r1.63 -r1.64 src/sbin/fsck_lfs/lfs.c cvs rdiff -u -r1.57 -r1.58 src/usr.sbin/dumplfs/dumplfs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sbin/fsck_lfs/lfs.c diff -u src/sbin/fsck_lfs/lfs.c:1.63 src/sbin/fsck_lfs/lfs.c:1.64 --- src/sbin/fsck_lfs/lfs.c:1.63 Tue Sep 1 06:15:02 2015 +++ src/sbin/fsck_lfs/lfs.c Sat Oct 3 08:28:46 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: lfs.c,v 1.63 2015/09/01 06:15:02 dholland Exp $ */ +/* $NetBSD: lfs.c,v 1.64 2015/10/03 08:28:46 dholland Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. * All rights reserved. @@ -761,7 +761,7 @@ check_summary(struct lfs *fs, SEGSUM *sp int bc; /* Bytes in partial segment */ int nblocks; daddr_t daddr; - uint32_t *dp, *idp; // XXX ondisk32 + IINFO *iibase, *iip; struct ubuf *bp; int i, j, k, datac, len; u_int32_t *datap; @@ -787,26 +787,25 @@ check_summary(struct lfs *fs, SEGSUM *sp datap = emalloc(nblocks * sizeof(*datap)); datac = 0; - dp = (uint32_t *) sp; /* XXX ondisk32 */ - dp += lfs_sb_getsumsize(fs) / sizeof(*dp); - dp--; + iibase = SEGSUM_IINFOSTART(fs, sp); - idp = dp; + iip = iibase; daddr = pseg_addr + lfs_btofsb(fs, lfs_sb_getsumsize(fs)); fp = (FINFO *) (sp + 1); for (i = 0, j = 0; i < lfs_ss_getnfinfo(fs, sp) || j < howmany(lfs_ss_getninos(fs, sp), LFS_INOPB(fs)); i++) { - if (i >= lfs_ss_getnfinfo(fs, sp) && *idp != daddr) { + if (i >= lfs_ss_getnfinfo(fs, sp) && lfs_ii_getblock(fs, iip) != daddr) { pwarn("Not enough inode blocks in pseg at 0x%jx: " "found %d, wanted %d\n", pseg_addr, j, howmany(lfs_ss_getninos(fs, sp), LFS_INOPB(fs))); if (debug) - pwarn("*idp=0x%jx, daddr=0x%jx\n", - (uintmax_t)*idp, (intmax_t)daddr); + pwarn("iip=0x%jx, daddr=0x%jx\n", + (uintmax_t)lfs_ii_getblock(fs, iip), + (intmax_t)daddr); break; } - while (j < howmany(lfs_ss_getninos(fs, sp), LFS_INOPB(fs)) && *idp == daddr) { + while (j < howmany(lfs_ss_getninos(fs, sp), LFS_INOPB(fs)) && lfs_ii_getblock(fs, iip) == daddr) { bread(devvp, LFS_FSBTODB(fs, daddr), lfs_sb_getibsize(fs), 0, &bp); datap[datac++] = ((u_int32_t *) (bp->b_data))[0]; @@ -814,7 +813,7 @@ check_summary(struct lfs *fs, SEGSUM *sp ++j; daddr += lfs_btofsb(fs, lfs_sb_getibsize(fs)); - --idp; + iip = NEXTLOWER_IINFO(fs, iip); } if (i < lfs_ss_getnfinfo(fs, sp)) { if (func) Index: src/usr.sbin/dumplfs/dumplfs.c diff -u src/usr.sbin/dumplfs/dumplfs.c:1.57 src/usr.sbin/dumplfs/dumplfs.c:1.58 --- src/usr.sbin/dumplfs/dumplfs.c:1.57 Tue Sep 1 06:12:04 2015 +++ src/usr.sbin/dumplfs/dumplfs.c Sat Oct 3 08:28:46 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: dumplfs.c,v 1.57 2015/09/01 06:12:04 dholland Exp $ */ +/* $NetBSD: dumplfs.c,v 1.58 2015/10/03 08:28:46 dholland Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -40,7 +40,7 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 19 #if 0 static char sccsid[] = "@(#)dumplfs.c 8.5 (Berkeley) 5/24/95"; #else -__RCSID("$NetBSD: dumplfs.c,v 1.57 2015/09/01 06:12:04 dholland Exp $"); +__RCSID("$NetBSD: dumplfs.c,v 1.58 2015/10/03 08:28:46 dholland Exp $"); #endif #endif /* not lint */ @@ -502,7 +502,7 @@ static int dump_sum(int fd, struct lfs *lfsp, SEGSUM *sp, int segnum, daddr_t addr) { FINFO *fp; - int32_t *dp, *idp; + IINFO *iip, *iip2; union lfs_blocks fipblocks; int i, j, acc; int ck; @@ -560,18 +560,16 @@ dump_sum(int fd, struct lfs *lfsp, SEGSU } /* Dump out inode disk addresses */ - /* XXX ondisk32 */ - dp = (int32_t *)sp; - dp += lfs_sb_getsumsize(lfsp) / sizeof(int32_t); + iip = SEGSUM_IINFOSTART(lfsp, sp); diblock = malloc(lfs_sb_getbsize(lfsp)); printf(" Inode addresses:"); numbytes = 0; numblocks = 0; - for (dp--, i = 0; i < lfs_ss_getninos(lfsp, sp); dp--) { + for (i = 0; i < lfs_ss_getninos(lfsp, sp); iip = NEXTLOWER_IINFO(lfsp, iip)) { ++numblocks; numbytes += lfs_sb_getibsize(lfsp); /* add bytes for inode block */ - printf("\t0x%x {", *dp); - get(fd, fsbtobyte(lfsp, *dp), diblock, lfs_sb_getibsize(lfsp)); + printf("\t0x%jx {", (intmax_t)lfs_ii_getblock(lfsp, iip)); + get(fd, fsbtobyte(lfsp, lfs_ii_getblock(lfsp, iip)), diblock, lfs_sb_getibsize(lfsp)); for (j = 0; i < lfs_ss_getninos(lfsp, sp) && j < LFS_INOPB(lfsp); j++, i++) { if (j > 0) (void)printf(", "); @@ -619,9 +617,7 @@ dump_sum(int fd, struct lfs *lfsp, SEGSU * compute the data checksum. (A bad data checksum is not enough * to prevent us from continuing, but it odes merit a warning.) */ - idp = (int32_t *)sp; - idp += lfs_sb_getsumsize(lfsp) / sizeof(int32_t); - --idp; + iip2 = SEGSUM_IINFOSTART(lfsp, sp); if (lfs_sb_getversion(lfsp) == 1) { fp = (FINFO *)((SEGSUM_V1 *)sp + 1); el_size = sizeof(unsigned long); @@ -635,11 +631,11 @@ dump_sum(int fd, struct lfs *lfsp, SEGSU addr += lfs_btofsb(lfsp, lfs_sb_getsumsize(lfsp)); buf = malloc(lfs_sb_getbsize(lfsp)); for (i = 0; i < lfs_ss_getnfinfo(lfsp, sp); i++) { - while (addr == *idp) { + while (addr == lfs_ii_getblock(lfsp, iip2)) { get(fd, fsbtobyte(lfsp, addr), buf, lfs_sb_getibsize(lfsp)); memcpy(datap + acc * el_size, buf, el_size); addr += lfs_btofsb(lfsp, lfs_sb_getibsize(lfsp)); - --idp; + iip2 = NEXTLOWER_IINFO(lfsp, iip2); ++acc; } for (j = 0; j < lfs_fi_getnblocks(lfsp, fp); j++) { @@ -653,11 +649,11 @@ dump_sum(int fd, struct lfs *lfsp, SEGSU } fp = NEXT_FINFO(lfsp, fp); } - while (addr == *idp) { + while (addr == lfs_ii_getblock(lfsp, iip2)) { get(fd, fsbtobyte(lfsp, addr), buf, lfs_sb_getibsize(lfsp)); memcpy(datap + acc * el_size, buf, el_size); addr += lfs_btofsb(lfsp, lfs_sb_getibsize(lfsp)); - --idp; + iip2 = NEXTLOWER_IINFO(lfsp, iip2); ++acc; } free(buf);