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