Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Dec 2004 10:56:34 -0800 (PST)
From:      Doug White <dwhite@gumbysoft.com>
To:        Henry Whincup <henry@jot.to>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ffs_clusteralloc: allocated out of group on 5TB fs (5.3-Stable)
Message-ID:  <20041206105139.E19661@carver.gumbysoft.com>
In-Reply-To: <006501c4da28$5692e130$0a64a8c0@techiebod.com>
References:  <006501c4da28$5692e130$0a64a8c0@techiebod.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 4 Dec 2004, Henry Whincup wrote:

> On a machine with a 5TB array I created a single partition via gpt and a
> filesystem using the defaults from newfs.
>
> All seemed well until I tried to fill the partition with data.  With "only"
> 870GB or so used utilities started reporting the disk as full. Shortly (a
> few hours) after the machine panic'd.

Ooh, fun. I wish I had a 5TB array to play with :)

> During this time I had been trying to copy file via nfs and rsync onto the
> array.  After several crashes I tried a simple "dd if=/dev/zero of=./file"
> and after writing ~33GB the machine rebooted (the panic details below are
> from this reboot)
>
> Details follow:

[..]
> Backtrace:
> #0  0xc060ce82 in doadump ()
> #1  0xc060d47b in boot ()
> #2  0xc060d7a1 in panic ()
> #3  0xc073445e in ffs_clusteralloc ()
> #4  0xc0733680 in ffs_hashalloc ()
> #5  0xc07329ea in ffs_reallocblks_ufs2 ()
> #6  0xc073205a in ffs_reallocblks ()
> #7  0xc0657e7c in cluster_write ()
> #8  0xc074c350 in ffs_write ()
> #9  0xc066bf10 in vn_write ()
> #10 0xc062d624 in dofilewrite ()
> #11 0xc062d4d1 in write ()
> #12 0xc07bb07f in syscall ()
> #13 0xc07a8a0f in Xint0x80_syscall ()
>
> Kernel is the default SMP kernel and sources are from 28th Nov 2004.
>
> I assume a proper debug kernel with symbols would be more helpful, but I
> just wanted to know if this was a known bug - or something I have done
> wrong, first.
> Other than that is there anything else I can provide to help find this bug?

Very large FFS filesystems have not been extensively tested. Maybe you can
help :)

You should be able to compile GENERIC with

makeoptions	"DEBUG=-g"

in the config file and that will leave a kernel.debug in the compile
directory that you can use.

Once you get that loaded up the output of 'bt full' would be nice to have.
I suspect an integer overflow in dtog(), which is a macro.

1545         if (dtog(fs, bno) != cg)
1546                 panic("ffs_clusteralloc: allocated out of group");

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite@gumbysoft.com          |  www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041206105139.E19661>