FreeBSD 9: Group quotas increase but don't decrease automatically

Adam Strohl adams-freebsd at ateamsystems.com
Mon Feb 6 19:46:20 UTC 2012


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!


More information about the freebsd-stable mailing list