Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jul 2011 20:52:23 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r223769 - head/sys/ufs/ufs
Message-ID:  <201107042052.p64KqNhl033972@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jeff
Date: Mon Jul  4 20:52:23 2011
New Revision: 223769
URL: http://svn.freebsd.org/changeset/base/223769

Log:
   - Fix an inode quota leak.  We need to decrement the quota once and only
     once.
  
  Tested by:	pho
  Reviewed by:	mckusick

Modified:
  head/sys/ufs/ufs/ufs_inode.c

Modified: head/sys/ufs/ufs/ufs_inode.c
==============================================================================
--- head/sys/ufs/ufs/ufs_inode.c	Mon Jul  4 20:50:09 2011	(r223768)
+++ head/sys/ufs/ufs/ufs_inode.c	Mon Jul  4 20:52:23 2011	(r223769)
@@ -120,15 +120,14 @@ ufs_inactive(ap)
 	isize = ip->i_size;
 	if (ip->i_ump->um_fstype == UFS2)
 		isize += ip->i_din2->di_extsize;
-	if (ip->i_effnlink <= 0 && isize && !UFS_RDONLY(ip)) {
+	if (ip->i_effnlink <= 0 && isize && !UFS_RDONLY(ip))
+		error = UFS_TRUNCATE(vp, (off_t)0, IO_EXT | IO_NORMAL,
+		    NOCRED, td);
+	if (ip->i_nlink <= 0 && ip->i_mode && !UFS_RDONLY(ip)) {
 #ifdef QUOTA
 		if (!getinoquota(ip))
 			(void)chkiq(ip, -1, NOCRED, FORCE);
 #endif
-		error = UFS_TRUNCATE(vp, (off_t)0, IO_EXT | IO_NORMAL,
-		    NOCRED, td);
-	}
-	if (ip->i_nlink <= 0 && ip->i_mode && !UFS_RDONLY(ip)) {
 #ifdef UFS_EXTATTR
 		ufs_extattr_vnode_inactive(vp, td);
 #endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107042052.p64KqNhl033972>