Module Name:    src
Committed By:   snj
Date:           Thu May  7 00:24:19 UTC 2009

Modified Files:
        src/sys/ufs/ffs [netbsd-5-0]: ffs_alloc.c

Log Message:
Pull up following revision(s) (requested by sborrill in ticket #726):
        sys/ufs/ffs/ffs_alloc.c: revision 1.123 via patch
Fix random 'filesystem full' messages by trapping a couple of 32-bit
overflow areas missed in rev 1.110 and switching cgbase().
Kudos to rump_ffs!


To generate a diff of this commit:
cvs rdiff -u -r1.113.4.1 -r1.113.4.1.2.1 src/sys/ufs/ffs/ffs_alloc.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/ffs/ffs_alloc.c
diff -u src/sys/ufs/ffs/ffs_alloc.c:1.113.4.1 src/sys/ufs/ffs/ffs_alloc.c:1.113.4.1.2.1
--- src/sys/ufs/ffs/ffs_alloc.c:1.113.4.1	Tue Feb 24 04:13:35 2009
+++ src/sys/ufs/ffs/ffs_alloc.c	Thu May  7 00:24:19 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_alloc.c,v 1.113.4.1 2009/02/24 04:13:35 snj Exp $	*/
+/*	$NetBSD: ffs_alloc.c,v 1.113.4.1.2.1 2009/05/07 00:24:19 snj Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_alloc.c,v 1.113.4.1 2009/02/24 04:13:35 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_alloc.c,v 1.113.4.1.2.1 2009/05/07 00:24:19 snj Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -1369,7 +1369,7 @@
 	ufs_add32(cgp->cg_frsum[allocsiz], -1, needswap);
 	if (frags != allocsiz)
 		ufs_add32(cgp->cg_frsum[allocsiz - frags], 1, needswap);
-	blkno = cg * fs->fs_fpg + bno;
+	blkno = cgbase(fs, cg) + bno;
 	ACTIVECG_CLR(fs, cg);
 	mutex_exit(&ump->um_lock);
 	if (DOINGSOFTDEP(ITOV(ip)))
@@ -1573,7 +1573,7 @@
 		    got - run + i))
 			panic("ffs_clusteralloc: map mismatch");
 #endif
-	bno = cg * fs->fs_fpg + blkstofrags(fs, got - run + 1);
+	bno = cgbase(fs, cg) + blkstofrags(fs, got - run + 1);
 	if (dtog(fs, bno) != cg)
 		panic("ffs_clusteralloc: allocated out of group");
 	len = blkstofrags(fs, len);

Reply via email to