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 */

NetBSD Home
NetBSD PR Database Search

(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.