Module Name: src Committed By: dholland Date: Tue Sep 1 06:13:34 UTC 2015
Modified Files: src/sbin/fsck_lfs: lfs.c lfs_user.h pass6.c Log Message: Use daddr_t, not ulfs_daddr_t, as the latter's 32 bits wide. Don't use either for on-disk items. Part 1 of 3. To generate a diff of this commit: cvs rdiff -u -r1.60 -r1.61 src/sbin/fsck_lfs/lfs.c cvs rdiff -u -r1.11 -r1.12 src/sbin/fsck_lfs/lfs_user.h cvs rdiff -u -r1.45 -r1.46 src/sbin/fsck_lfs/pass6.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.60 src/sbin/fsck_lfs/lfs.c:1.61 --- src/sbin/fsck_lfs/lfs.c:1.60 Tue Sep 1 06:12:04 2015 +++ src/sbin/fsck_lfs/lfs.c Tue Sep 1 06:13:33 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: lfs.c,v 1.60 2015/09/01 06:12:04 dholland Exp $ */ +/* $NetBSD: lfs.c,v 1.61 2015/09/01 06:13:33 dholland Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. * All rights reserved. @@ -336,7 +336,7 @@ lfs_ifind(struct lfs *fs, ino_t ino, str * XXX it currently loses atime information. */ struct uvnode * -lfs_raw_vget(struct lfs * fs, ino_t ino, int fd, ulfs_daddr_t daddr) +lfs_raw_vget(struct lfs * fs, ino_t ino, int fd, daddr_t daddr) { struct uvnode *vp; struct inode *ip; @@ -412,7 +412,7 @@ static struct uvnode * lfs_vget(void *vfs, ino_t ino) { struct lfs *fs = (struct lfs *)vfs; - ulfs_daddr_t daddr; + daddr_t daddr; struct ubuf *bp; IFILE *ifp; Index: src/sbin/fsck_lfs/lfs_user.h diff -u src/sbin/fsck_lfs/lfs_user.h:1.11 src/sbin/fsck_lfs/lfs_user.h:1.12 --- src/sbin/fsck_lfs/lfs_user.h:1.11 Wed Aug 19 20:33:29 2015 +++ src/sbin/fsck_lfs/lfs_user.h Tue Sep 1 06:13:33 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: lfs_user.h,v 1.11 2015/08/19 20:33:29 dholland Exp $ */ +/* $NetBSD: lfs_user.h,v 1.12 2015/09/01 06:13:33 dholland Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. * All rights reserved. @@ -83,7 +83,7 @@ int lfs_vop_strategy(struct ubuf *); int lfs_vop_bwrite(struct ubuf *); int lfs_vop_bmap(struct uvnode *, daddr_t, daddr_t *); -struct uvnode *lfs_raw_vget(struct lfs *, ino_t, int, ulfs_daddr_t); +struct uvnode *lfs_raw_vget(struct lfs *, ino_t, int, daddr_t); struct lfs *lfs_init(int, daddr_t, daddr_t, int, int); struct lfs *lfs_verify(struct lfs *, struct lfs *, struct uvnode *, int); int check_summary(struct lfs *, union segsum *, ulfs_daddr_t, int, struct uvnode *, void (*)(ulfs_daddr_t, union finfo *)); Index: src/sbin/fsck_lfs/pass6.c diff -u src/sbin/fsck_lfs/pass6.c:1.45 src/sbin/fsck_lfs/pass6.c:1.46 --- src/sbin/fsck_lfs/pass6.c:1.45 Tue Sep 1 06:12:04 2015 +++ src/sbin/fsck_lfs/pass6.c Tue Sep 1 06:13:33 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: pass6.c,v 1.45 2015/09/01 06:12:04 dholland Exp $ */ +/* $NetBSD: pass6.c,v 1.46 2015/09/01 06:13:33 dholland Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -219,7 +219,7 @@ remove_ino(struct uvnode *vp, ino_t ino) CLEANERINFO *cip; struct ubuf *bp, *sbp, *cbp; struct inodesc idesc; - ulfs_daddr_t daddr; + daddr_t daddr; if (debug) pwarn("remove ino %d\n", (int)ino); @@ -422,13 +422,13 @@ account_block_changes(union lfs_dinode * * free list accounting is done. */ static void -readdress_inode(union lfs_dinode *dp, ulfs_daddr_t daddr) +readdress_inode(union lfs_dinode *dp, daddr_t daddr) { IFILE *ifp; SEGUSE *sup; struct ubuf *bp; int sn; - ulfs_daddr_t odaddr; + daddr_t odaddr; ino_t thisino = lfs_dino_getinumber(fs, dp); struct uvnode *vp; @@ -443,10 +443,10 @@ readdress_inode(union lfs_dinode *dp, ul VOP_BWRITE(bp); if (debug) - pwarn("readdress ino %ju from 0x%x to 0x%x mode %o nlink %d\n", + pwarn("readdress ino %ju from 0x%jx to 0x%jx mode %o nlink %d\n", (uintmax_t)lfs_dino_getinumber(fs, dp), - (unsigned)odaddr, - (unsigned)daddr, + (uintmax_t)odaddr, + (intmax_t)daddr, (int)lfs_dino_getmode(fs, dp), (int)lfs_dino_getnlink(fs, dp)); @@ -549,7 +549,8 @@ alloc_inode(ino_t thisino, ulfs_daddr_t void pass6(void) { - ulfs_daddr_t daddr, ibdaddr, odaddr, lastgood, *idaddrp; + daddr_t daddr, ibdaddr, odaddr, lastgood; + uint32_t *idaddrp; /* XXX ondisk32 */ struct uvnode *vp, *devvp; CLEANERINFO *cip; SEGUSE *sup; @@ -618,13 +619,14 @@ pass6(void) break; } } + KASSERT(hassuper == 0 || hassuper == 1); /* Read in summary block */ bread(devvp, LFS_FSBTODB(fs, daddr), lfs_sb_getsumsize(fs), 0, &bp); sp = (SEGSUM *)bp->b_data; if (debug) - pwarn("sum at 0x%x: ninos=%d nfinfo=%d\n", - (unsigned)daddr, (int)lfs_ss_getninos(fs, sp), + pwarn("sum at 0x%jx: ninos=%d nfinfo=%d\n", + (intmax_t)daddr, (int)lfs_ss_getninos(fs, sp), (int)lfs_ss_getnfinfo(fs, sp)); /* We have verified that this is a good summary. */ @@ -650,7 +652,8 @@ pass6(void) LFS_INOPB(fs)) * lfs_sb_getibsize(fs))); } - idaddrp = ((ulfs_daddr_t *)((char *)bp->b_data + lfs_sb_getsumsize(fs))); + // XXX ondisk32 + idaddrp = ((uint32_t *)((char *)bp->b_data + lfs_sb_getsumsize(fs))); for (i = 0; i < howmany(lfs_ss_getninos(fs, sp), LFS_INOPB(fs)); i++) { ino_t *inums; @@ -676,8 +679,8 @@ pass6(void) || lfs_dino_getsize(fs, dp) < 0 #endif ) { - pwarn("BAD INODE AT 0x%" PRIx32 "\n", - ibdaddr); + pwarn("BAD INODE AT 0x%jx\n", + (intmax_t)ibdaddr); brelse(bp, 0); free(inums); goto out; @@ -783,14 +786,14 @@ pass6(void) bc = check_summary(fs, sp, daddr, debug, devvp, NULL); if (bc == 0) { - pwarn("unexpected bad seg ptr at 0x%x with serial=%d\n", - (int)daddr, (int)lfs_ss_getserial(fs, sp)); + pwarn("unexpected bad seg ptr at 0x%jx with serial=%ju\n", + (intmax_t)daddr, (uintmax_t)lfs_ss_getserial(fs, sp)); brelse(bp, 0); break; } else { if (debug) - pwarn("good seg ptr at 0x%x with serial=%d\n", - (int)daddr, (int)lfs_ss_getserial(fs, sp)); + pwarn("good seg ptr at 0x%jx with serial=%ju\n", + (intmax_t)daddr, (uintmax_t)lfs_ss_getserial(fs, sp)); lastserial = lfs_ss_getserial(fs, sp); } odaddr = daddr; @@ -858,8 +861,8 @@ pass6(void) sp = (SEGSUM *)bp->b_data; bc = check_summary(fs, sp, daddr, debug, devvp, pass6harvest); if (bc == 0) { - pwarn("unexpected bad seg ptr [2] at 0x%x with serial=%d\n", - (int)daddr, (int)lfs_ss_getserial(fs, sp)); + pwarn("unexpected bad seg ptr [2] at 0x%jx with serial=%ju\n", + (intmax_t)daddr, (uintmax_t)lfs_ss_getserial(fs, sp)); brelse(bp, 0); break; }