NetBSD Problem Report #33543
From www@NetBSD.org Wed May 24 12:37:57 2006
Return-Path: <www@NetBSD.org>
Received: by narn.NetBSD.org (Postfix, from userid 31301)
id C5AD963B863; Wed, 24 May 2006 12:37:57 +0000 (UTC)
Message-Id: <20060524123757.C5AD963B863@narn.NetBSD.org>
Date: Wed, 24 May 2006 12:37:57 +0000 (UTC)
From: dennis@eperm.net
Reply-To: dennis@eperm.net
To: gnats-bugs@NetBSD.org
Subject: panic on quota
X-Send-Pr-Version: www-1.0
>Number: 33543
>Category: kern
>Synopsis: panic on quota
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed May 24 12:40:00 +0000 2006
>Last-Modified: Sun Jun 24 20:15:02 +0000 2007
>Originator: Dennis Wecker
>Release: 2.0.3
>Organization:
>Environment:
NetBSD sigenv.eperm.net 2.0.3 NetBSD 2.0.3 (GENERIC.MP) #1: Thu Nov 3 09:42:11 CET 2005 root@sigenv.eperm.net:/usr/obj/sys/arch/i386/compile/GENERIC.MP i386
>Description:
enabled quotas by "quota=YES" in /etc/rc.conf.
in /etc/fstab:
/dev/ld0g /home ffs rw,userquota=/var/quotas/home.user,softdep 1 2
root@sigenv# mount | grep home
/dev/ld0g on /home type ffs (soft dependencies, local, with quotas)
after rebooting and 'edquota' for several users:
root@sigenv# repquota -a -v
*** Report for user quotas on /home (/dev/ld0g)
Block limits File limits
User used soft hard grace used soft hard grace
root -- 2714 0 0 41 0 0
dennis -- 756317 0 0 133214 0 0
www -- 20851 0 0 531 0 0
user01 -- 56376 0 5120000 8178 0 0
user02 -- 295578 0 1024000 2545 0 0
user03 -- 270303 0 307200 226 0 0
user04 -- 166 0 51200 40 0 0
user05 -- 295152 0 5120000 376 0 0
user06 -- 70171 0 1024000 3602 0 0
user06 -- 3265 0 1536000 246 0 0
user07 --33142199 0 0 21341 0 0
user08 -- 25093 0 51200 60 0 0
user09 -- 3218 0 51200 16 0 0
user10 -- 191 0 51200 3 0 0
user11 -- 1703 0 51200 1 0 0
user12 -- 11 0 51200 5 0 0
user13 -- 76772 0 1024000 90 0 0
user14 -- 37048 0 102400 1564 0 0
that worked for some hours. after that, the machine crashed into db:
uvm_fault(0xcf670614, 0, 0, 2) -> 0xe
kernel: page fault trap, code=0
Stopped in pid 7334.1 (cvs) at netbsd:dqget+0x35a: movl %edx,0(%eax)
db{0}> tr
dqget(d55359c8,3e9,c1e4fc00,0,d57d2898) at netbsd:dqget+0x35a
getinoquota(d57d2844,81a4,c20aa880,cf90cc30,c0607ca0) at netbsd:getinoquota+0x6a
ufs_makeinode(81a4,d1f2a390,cf90cec4,cf90ced8,ce246630) at netbsd:ufs_makeinode+0xb4
ufs_create(cf90cd94,4473b19f,cf90cdcc,c03e1a58,c0607b60) at netbsd:ufs_create+0x26
VOP_CREATE(d1f2a390,cf90cec4,cf90ced8,cf90cdf4,d1f2a390) at netbsd:VOP_CREATE+0x34
vn_open(cf90ceb4,603,1a4,cce696c0,0) at netbsd:vn_open+0x151
sys_open(cce696c0,cf90cf64,cf90cf5c,5,c0394cef) at netbsd:sys_open+0xcb
syscall_plain() at netbsd:syscall_plain+0x17e
--- syscall (number 5) ---
0x4828bf37:
db{0}>
while rebooting after the crash, 'quotacheck' outputs:
quotacheck: bad inode number 224 to nextinode
THE FOLLOWING FILE SYSTEM HAD AN UNEXPECTED INCONSISTENCY:
ffs: /dev/rld0g (/home)
...fsck is not able to fix that. i tried it with several disks.
>How-To-Repeat:
enable and setup quotas.
>Fix:
>Audit-Trail:
From: Pavel Cahyna <pavel@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc: dennis@eperm.net
Subject: Re: kern/33543: panic on quota
Date: Wed, 24 May 2006 21:54:18 +0200
On Wed, May 24, 2006 at 12:40:00PM +0000, dennis@eperm.net wrote:
> in /etc/fstab:
> /dev/ld0g /home ffs rw,userquota=/var/quotas/home.user,softdep 1 2
>
> root@sigenv# mount | grep home
> /dev/ld0g on /home type ffs (soft dependencies, local, with quotas)
FFSv1 or FFSv2 ?
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
To: gnats-bugs@netbsd.org
Cc: dennis@eperm.net
Subject: Re: kern/33543: panic on quota
Date: Sun, 24 Jun 2007 22:14:16 +0200
Dennis,
your crash regarding quotas is supposed to be fixed by the appended diff.
Could you please try it out.
--
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)
Index: sys/ufs/ufs/quota.h
===================================================================
RCS file: /cvsroot/src/sys/ufs/ufs/quota.h,v
retrieving revision 1.17
retrieving revision 1.24
diff -p -u -2 -r1.17 -r1.24
--- quota.h 7 Aug 2003 16:34:44 -0000 1.17
+++ quota.h 23 Jun 2007 14:56:09 -0000 1.24
@@ -119,6 +119,7 @@ struct dquot {
TAILQ_ENTRY(dquot) dq_freelist; /* free list */
u_int16_t dq_flags; /* flags, see below */
- u_int16_t dq_cnt; /* count of active references */
- u_int16_t dq_spare; /* unused spare padding */
u_int16_t dq_type; /* quota type of this dquot */
+ u_int32_t dq_cnt; /* count of active references */
u_int32_t dq_id; /* identifier this applies to */
struct ufsmount *dq_ump; /* filesystem that this is taken from */
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.