From owner-cvs-src@FreeBSD.ORG Tue Jan 30 14:21:44 2007 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 25E5216A402; Tue, 30 Jan 2007 14:21:44 +0000 (UTC) (envelope-from Andre.Albsmeier@siemens.com) Received: from thoth.sbs.de (thoth.sbs.de [192.35.17.2]) by mx1.freebsd.org (Postfix) with ESMTP id A6D7213C4A6; Tue, 30 Jan 2007 14:21:43 +0000 (UTC) (envelope-from Andre.Albsmeier@siemens.com) Received: from mail3.siemens.de (localhost [127.0.0.1]) by thoth.sbs.de (8.12.6/8.12.6) with ESMTP id l0UDJaNI003099; Tue, 30 Jan 2007 14:19:37 +0100 Received: from curry.mchp.siemens.de (curry.mchp.siemens.de [139.25.40.130]) by mail3.siemens.de (8.12.6/8.12.6) with ESMTP id l0UDJaIb014596; Tue, 30 Jan 2007 14:19:36 +0100 Received: (from localhost) by curry.mchp.siemens.de (8.13.8/8.13.8) id l0UDJaHQ097453; Date: Tue, 30 Jan 2007 14:19:36 +0100 From: Andre Albsmeier To: Mike Pritchard Message-ID: <20070130131936.GA10969@curry.mchp.siemens.de> References: <200701201158.l0KBwWFn088861@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701201158.l0KBwWFn088861@repoman.freebsd.org> X-Echelon: X-Advice: Drop that crappy M$-Outlook, I'm tired of your viruses! User-Agent: Mutt/1.5.13 (2006-08-11) 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_snapshot.c src/sys/ufs/ufs quota.h ufs_quota.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jan 2007 14:21:44 -0000 On Sat, 20-Jan-2007 at 11:58:32 +0000, Mike Pritchard wrote: > mpp 2007-01-20 11:58:32 UTC > > FreeBSD src repository > > Modified files: > sys/ufs/ffs ffs_alloc.c ffs_snapshot.c > sys/ufs/ufs quota.h ufs_quota.c > Log: > Quota system cleanup. > > 1) Do not do quota accounting for the actual quota data files > or for file system snapshot files ("system" files). This > prevents a deadlock descibed in PR kern/30958 if the kernel > ever has to grow the quota file. Snapshot files were already > exempt from the quota checks, but this change generalized the check. > 2) Fix a cast that caused extremely large uids/gids to incorrectly > write the quota information to the data file at a truncated > value for a uint_t32 id value. The incorrect cast caused quota > files in this case to be around 4GB in size, with the correct cast > they can now be 131GB in size. Also related to PR kern/30958. > 3) Check for what appear to be negative UIDs/GIDs and not account > for them. This prevents the quota files from becoming 131GB in > size and causing quotacheck to run forever at bootup. This could > also cause the kernel to try and expand the quota file, which might > deadlock due to the issue in #1. kern/30958 and kern/38156 > (and some much older closed PR's). > 4) With the deadlock problems gone, the kernel can now expand the > size of the quota database files if it needs to. > 5) Pass in the i-node count change value to chkiq and chkiqchg as an > int, like it used to be before the common routine was split up > into 2 different routines to increase / decrease the i-node in-use > count. Prevents an underflow on the i-node count. Related > to PR kern/89247. > 6) Prevent the block usage from growing slowly if a file system is > full and the write was denied due to that fact. PR kern/89247. > > Some of these changes require an updated quotacheck to prevent > the creation of huge (131GB) quota data files (item #3). > > #1/#4 probably fixes a lot of the random hangs when quotas are enabled, > possibly some of the jail hangs. This might fix my PR# 2325 (no, this is no typo) as well. -Andre