From owner-cvs-all@FreeBSD.ORG Fri Feb 23 20:41:16 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 578E816A401; Fri, 23 Feb 2007 20:41:16 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 465FC13C494; Fri, 23 Feb 2007 20:41:16 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 8AA441A4DA7; Fri, 23 Feb 2007 12:41:15 -0800 (PST) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id E6F2D515B2; Fri, 23 Feb 2007 15:41:12 -0500 (EST) Date: Fri, 23 Feb 2007 15:41:12 -0500 From: Kris Kennaway To: Brian Somers Message-ID: <20070223204112.GA88584@xor.obsecurity.org> References: <200702232023.l1NKNaeZ086158@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200702232023.l1NKNaeZ086158@repoman.freebsd.org> User-Agent: Mutt/1.4.2.2i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ffs ffs_alloc.c ffs_softdep.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Feb 2007 20:41:16 -0000 On Fri, Feb 23, 2007 at 08:23:36PM +0000, Brian Somers wrote: > brian 2007-02-23 20:23:36 UTC > > FreeBSD src repository > > Modified files: > sys/ufs/ffs ffs_alloc.c ffs_softdep.c > Log: > Account for di_blocks allocations when IN_SPACECOUNTED is set in an > inode's i_flag. > > It's possible that after ufs_infactive() calls softdep_releasefile(), > i_nlink stays >0 for a considerable amount of time (> 60 seconds here). > During this period, any ffs allocation routines that alter di_blocks > must also account for the blocks in the filesystem's fs_pendingblocks > value. > > This change fixes an eventual df/du discrepency that will happen as > the result of fs_pendingblocks being reduced to <0. > > The only manifestation of this that people may recognise is the > following message on boot: > > /somefs: update error: blocks -N files M > > at which point the negative pending block count is adjusted to zero. \o/ I hate that bug! Kris