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);

Reply via email to