[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F270949.30800@redhat.com>
Date: Mon, 30 Jan 2012 15:19:05 -0600
From: Eric Sandeen <sandeen@...hat.com>
To: ext4 development <linux-ext4@...r.kernel.org>
Subject: Bigalloc ENOSPC woes
I got nervous when I tried this on an -O bigalloc -C 65536 fs:
# echo foo > blah; du -hc blah; sync; du -hc blah
4.0K blah
4.0K total
64K blah
64K total
Seems that du should never report less than the cluster size, should it?
And that made me wonder about ENOSPC handling - are we tracing delalloc allocations correctly?
>From running xfstest 204 on a similarly-created fs, it really seems that we are not.
A manual test of creating 4-byte files until ENOSPC (which was really when I ran out of inodes) and then issuing a sync led to a storm of kernel messages about allocation failures:
[ 482.154538] EXT4-fs (sdb6): delayed block allocation failed for inode 1664 at logical offset 0 with max blocks 1 with error -28
[ 482.154540] EXT4-fs (sdb6): This should not happen!! Data will be lost
<ad infinitum, or at least 600 or so in my case>
and an end result of a bunch of 4 byte long files with no extents. Almost like files full of NULLs. Careful - that is hard to live down. :)
Ted, are you aware of those issues in bigalloc?
-Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists