Module Name:    src
Committed By:   dholland
Date:           Sun Aug  2 18:12:41 UTC 2015

Modified Files:
        src/sys/ufs/lfs: lfs_inode.c lfs_inode.h lfs_segment.c lfs_vnops.c

Log Message:
Make i_eff_nblks in the in-memory inode 64 bits wide.


To generate a diff of this commit:
cvs rdiff -u -r1.141 -r1.142 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/lfs/lfs_inode.h
cvs rdiff -u -r1.247 -r1.248 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -u -r1.278 -r1.279 src/sys/ufs/lfs/lfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/lfs/lfs_inode.c
diff -u src/sys/ufs/lfs/lfs_inode.c:1.141 src/sys/ufs/lfs/lfs_inode.c:1.142
--- src/sys/ufs/lfs/lfs_inode.c:1.141	Sun Aug  2 18:08:13 2015
+++ src/sys/ufs/lfs/lfs_inode.c	Sun Aug  2 18:12:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_inode.c,v 1.141 2015/08/02 18:08:13 dholland Exp $	*/
+/*	$NetBSD: lfs_inode.c,v 1.142 2015/08/02 18:12:41 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.141 2015/08/02 18:08:13 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.142 2015/08/02 18:12:41 dholland Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_quota.h"
@@ -575,8 +575,8 @@ done:
 #ifdef DIAGNOSTIC
 	if (oip->i_size == 0 &&
 	    (oip->i_ffs1_blocks != 0 || oip->i_lfs_effnblks != 0)) {
-		printf("lfs_truncate: truncate to 0 but %d blks/%d effblks\n",
-		       oip->i_ffs1_blocks, oip->i_lfs_effnblks);
+		printf("lfs_truncate: truncate to 0 but %d blks/%jd effblks\n",
+		       oip->i_ffs1_blocks, (intmax_t)oip->i_lfs_effnblks);
 		panic("lfs_truncate: persistent blocks");
 	}
 #endif

Index: src/sys/ufs/lfs/lfs_inode.h
diff -u src/sys/ufs/lfs/lfs_inode.h:1.7 src/sys/ufs/lfs/lfs_inode.h:1.8
--- src/sys/ufs/lfs/lfs_inode.h:1.7	Mon May 26 19:12:43 2014
+++ src/sys/ufs/lfs/lfs_inode.h	Sun Aug  2 18:12:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_inode.h,v 1.7 2014/05/26 19:12:43 ryoon Exp $	*/
+/*	$NetBSD: lfs_inode.h,v 1.8 2015/08/02 18:12:41 dholland Exp $	*/
 /*  from NetBSD: ulfs_inode.h,v 1.5 2013/06/06 00:51:50 dholland Exp  */
 /*  from NetBSD: inode.h,v 1.64 2012/11/19 00:36:21 jakllsch Exp  */
 
@@ -221,7 +221,7 @@ struct inode {
  */
 struct lfs_inode_ext {
 	off_t	  lfs_osize;		/* size of file on disk */
-	u_int32_t lfs_effnblocks;  /* number of blocks when i/o completes */
+	u_int64_t lfs_effnblocks;  /* number of blocks when i/o completes */
 	size_t	  lfs_fragsize[ULFS_NDADDR]; /* size of on-disk direct blocks */
 	TAILQ_ENTRY(inode) lfs_dchain;  /* Dirop chain. */
 	TAILQ_ENTRY(inode) lfs_pchain;  /* Paging chain. */

Index: src/sys/ufs/lfs/lfs_segment.c
diff -u src/sys/ufs/lfs/lfs_segment.c:1.247 src/sys/ufs/lfs/lfs_segment.c:1.248
--- src/sys/ufs/lfs/lfs_segment.c:1.247	Sun Aug  2 18:10:55 2015
+++ src/sys/ufs/lfs/lfs_segment.c	Sun Aug  2 18:12:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_segment.c,v 1.247 2015/08/02 18:10:55 dholland Exp $	*/
+/*	$NetBSD: lfs_segment.c,v 1.248 2015/08/02 18:12:41 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.247 2015/08/02 18:10:55 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.248 2015/08/02 18:12:41 dholland Exp $");
 
 #define _VFS_VNODE_PRIVATE	/* XXX: check for VI_MARKER, this has to go */
 
@@ -1215,8 +1215,8 @@ lfs_writeinode(struct lfs *fs, struct se
 		      PRId64 "\n", (int)ip->i_number, ip->i_size, cdp->di_size));
 	}
 	if (ip->i_lfs_effnblks != ip->i_ffs1_blocks) {
-		DLOG((DLOG_SEG, "lfs_writeinode: cleansing ino %d eff %d != nblk %d)"
-		      " at %jx\n", ip->i_number, ip->i_lfs_effnblks,
+		DLOG((DLOG_SEG, "lfs_writeinode: cleansing ino %d eff %jd != nblk %d)"
+		      " at %jx\n", ip->i_number, (intmax_t)ip->i_lfs_effnblks,
 		      ip->i_ffs1_blocks, (uintmax_t)lfs_sb_getoffset(fs)));
 		for (daddrp = cdp->di_db; daddrp < cdp->di_ib + ULFS_NIADDR;
 		     daddrp++) {
@@ -1259,8 +1259,8 @@ lfs_writeinode(struct lfs *fs, struct se
 			LFS_CLR_UINO(ip, IN_MODIFIED);
 		else {
 			DLOG((DLOG_VNODE, "lfs_writeinode: ino %d: real "
-			    "blks=%d, eff=%d\n", ip->i_number,
-			    ip->i_ffs1_blocks, ip->i_lfs_effnblks));
+			    "blks=%d, eff=%jd\n", ip->i_number,
+			    ip->i_ffs1_blocks, (intmax_t)ip->i_lfs_effnblks));
 		}
 	}
 
@@ -2108,9 +2108,9 @@ lfs_writeseg(struct lfs *fs, struct segm
 		if (bp->b_lblkno < 0 && bp->b_vp != devvp && bp->b_vp &&
 		   VTOI(bp->b_vp)->i_ffs1_blocks !=
 		   VTOI(bp->b_vp)->i_lfs_effnblks) {
-			DLOG((DLOG_VNODE, "lfs_writeseg: cleansing ino %d (%d != %d)\n",
+			DLOG((DLOG_VNODE, "lfs_writeseg: cleansing ino %d (%jd != %d)\n",
 			      VTOI(bp->b_vp)->i_number,
-			      VTOI(bp->b_vp)->i_lfs_effnblks,
+			      (intmax_t)VTOI(bp->b_vp)->i_lfs_effnblks,
 			      VTOI(bp->b_vp)->i_ffs1_blocks));
 			/* Make a copy we'll make changes to */
 			newbp = lfs_newbuf(fs, bp->b_vp, bp->b_lblkno,

Index: src/sys/ufs/lfs/lfs_vnops.c
diff -u src/sys/ufs/lfs/lfs_vnops.c:1.278 src/sys/ufs/lfs/lfs_vnops.c:1.279
--- src/sys/ufs/lfs/lfs_vnops.c:1.278	Tue Jul 28 05:09:35 2015
+++ src/sys/ufs/lfs/lfs_vnops.c	Sun Aug  2 18:12:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_vnops.c,v 1.278 2015/07/28 05:09:35 dholland Exp $	*/
+/*	$NetBSD: lfs_vnops.c,v 1.279 2015/08/02 18:12:41 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -125,7 +125,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.278 2015/07/28 05:09:35 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.279 2015/08/02 18:12:41 dholland Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -1186,7 +1186,7 @@ lfs_getattr(void *v)
 		vap->va_blocksize = MAXBSIZE;
 	else
 		vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize;
-	vap->va_bytes = lfs_fsbtob(fs, (u_quad_t)ip->i_lfs_effnblks);
+	vap->va_bytes = lfs_fsbtob(fs, ip->i_lfs_effnblks);
 	vap->va_type = vp->v_type;
 	vap->va_filerev = ip->i_modrev;
 	fstrans_done(vp->v_mount);

Reply via email to