Module Name:    src
Committed By:   dholland
Date:           Sat Oct  3 08:29:34 UTC 2015

Modified Files:
        src/sbin/fsck_lfs: lfs.c
        src/sys/ufs/lfs: lfs.h

Log Message:
Add lfs_checkword type for reading checksum data out of structures.
This is always uint32_t, but having a name for it both makes things
clearer and avoids confusion about whether it should be 32 or 64 bit.

Note: deployed in only one place (that was erroneously tagged
ondisk32) so far.


To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/sbin/fsck_lfs/lfs.c
cvs rdiff -u -r1.193 -r1.194 src/sys/ufs/lfs/lfs.h

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.65 src/sbin/fsck_lfs/lfs.c:1.66
--- src/sbin/fsck_lfs/lfs.c:1.65	Sat Oct  3 08:29:21 2015
+++ src/sbin/fsck_lfs/lfs.c	Sat Oct  3 08:29:34 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs.c,v 1.65 2015/10/03 08:29:21 dholland Exp $ */
+/* $NetBSD: lfs.c,v 1.66 2015/10/03 08:29:34 dholland Exp $ */
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -764,7 +764,7 @@ check_summary(struct lfs *fs, SEGSUM *sp
 	IINFO *iibase, *iip;
 	struct ubuf *bp;
 	int i, j, k, datac, len;
-	u_int32_t *datap;
+	lfs_checkword *datap;
 	u_int32_t ccksum;
 
 	/* We've already checked the sumsum, just do the data bounds and sum */
@@ -808,7 +808,7 @@ check_summary(struct lfs *fs, SEGSUM *sp
 		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];
+			datap[datac++] = ((lfs_checkword *)bp->b_data)[0];
 			brelse(bp, 0);
 
 			++j;
@@ -824,7 +824,7 @@ check_summary(struct lfs *fs, SEGSUM *sp
 				       : lfs_sb_getbsize(fs));
 				bread(devvp, LFS_FSBTODB(fs, daddr), len,
 				    0, &bp);
-				datap[datac++] = ((u_int32_t *) (bp->b_data))[0];
+				datap[datac++] = ((lfs_checkword *)bp->b_data)[0];
 				brelse(bp, 0);
 				daddr += lfs_btofsb(fs, len);
 			}
@@ -836,8 +836,7 @@ check_summary(struct lfs *fs, SEGSUM *sp
 		pwarn("Partial segment at 0x%jx expected %d blocks counted %d\n",
 		    (intmax_t)pseg_addr, nblocks, datac);
 	}
-	/* XXX ondisk32 */
-	ccksum = cksum(datap, nblocks * sizeof(u_int32_t));
+	ccksum = cksum(datap, nblocks * sizeof(datap[0]));
 	/* Check the data checksum */
 	if (ccksum != lfs_ss_getdatasum(fs, sp)) {
 		pwarn("Partial segment at 0x%jx data checksum"

Index: src/sys/ufs/lfs/lfs.h
diff -u src/sys/ufs/lfs/lfs.h:1.193 src/sys/ufs/lfs/lfs.h:1.194
--- src/sys/ufs/lfs/lfs.h:1.193	Sat Oct  3 08:27:38 2015
+++ src/sys/ufs/lfs/lfs.h	Sat Oct  3 08:29:34 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs.h,v 1.193 2015/10/03 08:27:38 dholland Exp $	*/
+/*	$NetBSD: lfs.h,v 1.194 2015/10/03 08:29:34 dholland Exp $	*/
 
 /*  from NetBSD: dinode.h,v 1.22 2013/01/22 09:39:18 dholland Exp  */
 /*  from NetBSD: dir.h,v 1.21 2009/07/22 04:49:19 dholland Exp  */
@@ -695,6 +695,9 @@ typedef union _cleanerinfo {
 #define	SS_RFW		0x08		/* written by the roll-forward agent */
 #define	SS_RECLAIM	0x10		/* written by the roll-forward agent */
 
+/* type used for reading checksum signatures from metadata structures */
+typedef uint32_t lfs_checkword;
+
 typedef struct segsum_v1 SEGSUM_V1;
 struct segsum_v1 {
 	u_int32_t ss_sumsum;		/* 0: check sum of summary block */

Reply via email to