On Wed, Dec 16, 2009 at 09:46:02PM +0100, Jan Kara wrote: > > Creating many small files in rapid succession on a small > > filesystem can lead to spurious ENOSPC; on a 104MB filesystem: > > > > for i in `seq 1 22500`; do > > echo -n > $SCRATCH_MNT/$i > > echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > $SCRATCH_MNT/$i > > done > > > > leads to ENOSPC even though after a sync, 40% of the fs is free > > again. > > > > This is because we reserve worst-case metadata for delalloc writes, > > and when data is allocated that worst-case reservation is not > > usually needed. > > > > When freespace is low, kicking off an async writeback will start > > converting that worst-case space usage into something more realistic, > > almost always freeing up space to continue. > > > > This resolves the testcase for me, and survives all 4 generic > > ENOSPC tests in xfstests. > > > > We'll still need a hard synchronous sync to squeeze out the last bit, > > but this fixes things up to a large degree. > > > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Thanks, added to the ext4 patch queue. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html