From owner-svn-src-all@FreeBSD.ORG Thu Dec 23 00:38:57 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C509C106566C; Thu, 23 Dec 2010 00:38:57 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B43738FC0C; Thu, 23 Dec 2010 00:38:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBN0cvWp039144; Thu, 23 Dec 2010 00:38:57 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBN0cv86039142; Thu, 23 Dec 2010 00:38:57 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201012230038.oBN0cv86039142@svn.freebsd.org> From: Kirk McKusick Date: Thu, 23 Dec 2010 00:38:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r216676 - head/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Dec 2010 00:38:57 -0000 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));