kern/77181: newfs -g largevalue, mkdir, panic
Peter Much
pmc at citylink.dinoex.sub.org
Sun Feb 6 14:20:15 PST 2005
>Number: 77181
>Category: kern
>Synopsis: newfs -g largevalue, mkdir, panic
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Feb 06 22:20:14 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Peter Much
>Release: FreeBSD 5.3-RELEASE-p4 i386
>Organization:
n/a
>Environment:
System: FreeBSD gate.oper.dinoex.org 5.3-RELEASE-p4 FreeBSD 5.3-RELEASE-p4 #4: Sun Jan 30 21:53:17 CET 2005 root at edge.oper.dinoex.org:/usr/src/sys/i386/compile/E1R53V1 i386
>Description:
create 5G filesystem on gvinum drive (single drive, no mirror, no stripe).
newfs -g 104857600 -U
mount it, and mkdir some directories.
panic, integer divide fault.
>How-To-Repeat:
Was quite reproducible. First directoriy within directory
crashed it. Here is the dumpfs header:
magic 19540119 (UFS2) time Sun Feb 6 22:09:11 2005
superblock location 65536 id [ 42066452 b1313aa3 ]
ncg 28 size 2621440 blocks 2538519
bsize 16384 shift 14 mask 0xffffc000
fsize 2048 shift 11 mask 0xfffff800
frag 8 shift 3 fsbtodb 2
minfree 8% optim time symlinklen 120
maxbsize 16384 maxbpg 2048 maxcontig 8 contigsumsize 8
nbfree 317308 ndir 6 nifree 659448 nffree 49
bpg 11761 fpg 94088 ipg 23552
nindir 2048 inopb 64 maxfilesize 140806241583103
sbsize 2048 cgsize 16384 csaddr 3000 cssize 2048
sblkno 40 cblkno 48 iblkno 56 dblkno 3000
cgrotor 15 fmod 0 ronly 0 clean 0
avgfpdir 64 avgfilesize 104857600
flags unclean soft-updates
fsmnt /j/conn/var/spool/files
volname swuid 0
>Fix:
Now I dont use the -g option. Actually I just found it and
thought, lets try it out - have not yet researched what it
functionally does. And I know that my value is way large and
is not in good match with the blocksize.
But as this can be harmful in such a way (and not only on
performance), we need some plausibility check in newfs.
(And now I put kerneldebugger back into my config - btw,
there seems no longer anywhere the nice explanations for such
options as was in the former LINT file - where one could
easily pick what could be eventually needed.)
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list