svn commit: r216676 - head/sys/ufs/ffs
Kirk McKusick
mckusick at FreeBSD.org
Thu Dec 23 00:38:57 UTC 2010
Author: mckusick
Date: Thu Dec 23 00:38:57 2010
New Revision: 216676
URL: http://svn.freebsd.org/changeset/base/216676
Log:
This patch fixes a soft update panic while running perl 5.12 tests
which produced:
panic: indir_trunc: Index out of range -148 parent -2061 lbn -305164
Reported by: Dimitry Andric
Fixed by: Jeff Roberson
Modified:
head/sys/ufs/ffs/ffs_softdep.c
Modified: head/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- head/sys/ufs/ffs/ffs_softdep.c Wed Dec 22 23:58:21 2010 (r216675)
+++ head/sys/ufs/ffs/ffs_softdep.c Thu Dec 23 00:38:57 2010 (r216676)
@@ -6153,7 +6153,8 @@ indir_trunc(freework, dbn, lbn)
if (jnewblk->jn_lbn > 0)
i = (jnewblk->jn_lbn - -lbn) / lbnadd;
else
- i = (jnewblk->jn_lbn - (lbn + 1)) / lbnadd;
+ i = (-(jnewblk->jn_lbn + level - 1) - -(lbn + level)) /
+ lbnadd;
KASSERT(i >= 0 && i < NINDIR(fs),
("indir_trunc: Index out of range %d parent %jd lbn %jd",
i, lbn, jnewblk->jn_lbn));
More information about the svn-src-all
mailing list