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
This commit is contained in:
Kirk McKusick 2010-12-23 00:38:57 +00:00
parent f49f3df86a
commit 84ad0a66d0

View File

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