Date: Tue, 07 Feb 2012 00:17:17 +0700 From: Adam Strohl <adams-freebsd@ateamsystems.com> To: Konstantin Belousov <kostikbel@gmail.com> Cc: Kirk McKusick <mckusick@mckusick.com>, FreeBSD-Stable ML <freebsd-stable@freebsd.org> Subject: Re: FreeBSD 9: Group quotas increase but don't decrease automatically Message-ID: <4F300B1D.9080809@ateamsystems.com> In-Reply-To: <20120203144848.GX3283@deviant.kiev.zoral.com.ua> References: <4F2BD37E.70209@ateamsystems.com> <20120203144848.GX3283@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2/3/2012 21:48, Konstantin Belousov wrote: > This is a bug in +J code (even if you do not use +J). Do you have > softupdates enabled on the volume ? If yes, try the following patch. > > diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c > index 5b4b6b9..ed2db79 100644 > --- a/sys/ufs/ffs/ffs_softdep.c > +++ b/sys/ufs/ffs/ffs_softdep.c > @@ -43,6 +43,7 @@ > __FBSDID("$FreeBSD$"); > > #include "opt_ffs.h" > +#include "opt_quota.h" > #include "opt_ddb.h" > > /* > @@ -6428,7 +6429,7 @@ softdep_setup_freeblocks(ip, length, flags) > } > #ifdef QUOTA > /* Reference the quotas in case the block count is wrong in the end. */ > - quotaref(vp, freeblks->fb_quota); > + quotaref(ITOV(ip), freeblks->fb_quota); > (void) chkdq(ip, -datablocks, NOCRED, 0); > #endif > freeblks->fb_chkcnt = -datablocks; Bingo, this fixes the issue for me! Testing it out on one machine now and will push it out to the others gradually ... thanks!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F300B1D.9080809>