From 3758b280f271de224851a679aed2c078085c7a1b Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Mon, 4 Aug 1997 07:30:43 +0000 Subject: [PATCH] We got a couple of "map mismatch" panics from the following code. According to the crash dump, bpref is set to 445 and cgp->cg_nclusterblks is 444. Hence in the for loop, the test fails immediately but the following failure check (got == cgp->cg_nclusterblks) doesn't trigger because got > cgp->cg_nclusterblks. This wreaks havoc in the code after that. Fix: Move one source bit to the left :-) Noticed by: Mike Hibler Submitted by: Kirk McKusick --- sys/ufs/ffs/ffs_alloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 3483b560a388..2edfa102b2d9 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_alloc.c 8.18 (Berkeley) 5/26/95 - * $Id: ffs_alloc.c,v 1.32 1997/03/22 06:53:28 bde Exp $ + * $Id: ffs_alloc.c,v 1.33 1997/03/23 20:08:16 guido Exp $ */ #include "opt_quota.h" @@ -1139,7 +1139,7 @@ ffs_clusteralloc(ip, cg, bpref, len) bit = 1; } } - if (got == cgp->cg_nclusterblks) + if (got >= cgp->cg_nclusterblks) goto fail; /* * Allocate the cluster that we have found.