From owner-freebsd-stable Mon Mar 5 9:11:16 2001 Delivered-To: freebsd-stable@freebsd.org Received: from goliath.siemens.de (goliath.siemens.de [194.138.37.131]) by hub.freebsd.org (Postfix) with ESMTP id 2800D37B718 for ; Mon, 5 Mar 2001 09:11:12 -0800 (PST) (envelope-from andre.albsmeier@mchp.siemens.de) X-Envelope-Sender-Is: andre.albsmeier@mchp.siemens.de (at relayer goliath.siemens.de) Received: from mail3.siemens.de (mail3.siemens.de [139.25.208.14]) by goliath.siemens.de (8.11.0/8.11.0) with ESMTP id f25HB4C12077; Mon, 5 Mar 2001 18:11:05 +0100 (MET) Received: from curry.mchp.siemens.de (curry.mchp.siemens.de [139.25.42.7]) by mail3.siemens.de (8.11.1/8.11.1) with ESMTP id f25HB3r31984704; Mon, 5 Mar 2001 18:11:03 +0100 (MET) Received: (from localhost) by curry.mchp.siemens.de (8.11.2/8.11.2) id f25HB3S85727; Date: Mon, 5 Mar 2001 18:10:59 +0100 From: Andre Albsmeier To: "Matthew N. Dodd" Cc: Mike Tancsa , stable@FreeBSD.ORG Subject: Re: problems with quotas on STABLE Message-ID: <20010305181059.A65640@curry.mchp.siemens.de> References: <4.2.2.20010226064702.03756c60@marble.sentex.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from winter@jurai.net on Sun, Mar 04, 2001 at 04:26:09PM -0500 X-Echelon: BND CIA NSA Mossad KGB MI6 IRA detonator nuclear assault strike Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sun, 04-Mar-2001 at 16:26:09 -0500, Matthew N. Dodd wrote: > On Mon, 26 Feb 2001, Mike Tancsa wrote: > > Not sure how long this problem has been around, but at bootup time the > > quota file creation process always seems to fail for me. If I kill the file > > and let it start from scratch, same problem as if I let it update it after > > a reboot. > ... > > quotacheck: /home/quota.user: seek failed: File too large > > So hunt down the files/directories on that filesystem that have really > high UID/GID numbers and change them to something sane. The quota file > format includes a record for every UID/GID on the system between the > smallest and the largest. FYI, we had the same problem here when using PCNFS without a user being logged in (PCNFS then writes files as nobody which incorrectly has uid -2 which turns out to be 2^32 - 1 in FreeBSD). The corresponding PR is PR# 2325, so you see that the problem is really old :-). Since then I use a (really ugly) patch which maps all uid's which are bigger than 65535 to our nobody: --- sys/ufs/ufs/ufs_quota.c.ORI Mon Jul 31 09:36:03 2000 +++ sys/ufs/ufs/ufs_quota.c Mon Jul 31 09:36:44 2000 @@ -750,6 +750,8 @@ /* * Check the cache first. */ + if( id > 65535 ) + id = 65534; dqh = DQHASH(dqvp, id); for (dq = dqh->lh_first; dq; dq = dq->dq_hash.le_next) { if (dq->dq_id != id || --- sbin/quotacheck/quotacheck.c.ORI Mon Jul 31 09:20:54 2000 +++ sbin/quotacheck/quotacheck.c Mon Jul 31 09:21:15 2000 @@ -506,6 +506,8 @@ struct fileusage *fup, **fhp; int len; + if( id > 65535 ) + id = 65534; if ((fup = lookup(id, type)) != NULL) return (fup); if (name) Yes, this is ugly but has worked very well all the time. -Andre To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message