From owner-freebsd-bugs Tue Oct 17 5:40: 8 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 85A4737B4F9 for ; Tue, 17 Oct 2000 05:40:02 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id FAA77134; Tue, 17 Oct 2000 05:40:02 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Date: Tue, 17 Oct 2000 05:40:02 -0700 (PDT) Message-Id: <200010171240.FAA77134@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Andre Albsmeier Subject: Re: i386/22006: quotacheck halt Reply-To: Andre Albsmeier Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR i386/22006; it has been noted by GNATS. From: Andre Albsmeier To: Wei-Kai-Wu Cc: Andre Albsmeier , FreeBSD-gnats-submit@FreeBSD.ORG Subject: Re: i386/22006: quotacheck halt Date: Tue, 17 Oct 2000 14:28:13 +0200 On Tue, 17-Oct-2000 at 15:16:56 +0800, Wei-Kai-Wu wrote: > On Mon, Oct 16, 2000 at 10:35:39AM +0200, Andre Albsmeier wrote: > > What is the highest uid you have on /raid1 and /raid2 ? > > You might want to look into PR #2325... > > If this applies to your problem, I might have a patch for you. > > I have found that there are some files uid = -2. > It cause quotacheck halt... It doesn't halt. It just scans the quotacheck file from 0 to 2^32-1 and this takes a while. Do you use PC-NFS? That is how I got these uid -2 files into my filesystems. If you are interested, this my (real ugly) patch to solve this: It maps all uids > 65535 to user nobody. I use it for many years now and it works great... Don't know about security concerns. --- 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) --- 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 || > > By the way, shall we take it as a bug? It is a bug. It is covered by my PR. -Andre To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message