Date: Fri, 23 Feb 2007 20:23:36 +0000 (UTC) From: Brian Somers <brian@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_alloc.c ffs_softdep.c Message-ID: <200702232023.l1NKNaeZ086158@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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. Reviewed by: tegge MFC after: 3 weeks Revision Changes Path 1.145 +28 -3 src/sys/ufs/ffs/ffs_alloc.c 1.204 +4 -4 src/sys/ufs/ffs/ffs_softdep.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702232023.l1NKNaeZ086158>