Re: [RFC] Ext3 online defrag

Alex Tomas
2006-10-27T07:42:46Z

I've been reworking mballoc with few new features:

1) in-core preallocation
like existing reservation, but can preallocate few pieces for a file

2) locality groups
to maintain groups of related files and flush them together.
say, two users are unpacking kernel. with delayed allocation
we've got bunch of files from the both in cache. then we flush
first set (few MBs) of files from one user, then from another.
this way write I/Os will be large enough to achieve good
throughput and files are still quite localized to be used later
at good read rate.

3) scalable reservation
required for delayed allocation to avoid -ENOSPC at flush time.
current version uses per-sb spinlock.

probably we could add something for defragmentation?

thanks, Alex

>>>>> sho (s) writes:

s> I am considering the online defrag function for ext4 and thinking
s> that your following patch set for multi-block allocation is useful
s> to search contiguous free blocks for the defragmentation.

s> "[RFC] extents,mballoc,delalloc for 2.6.16.8"
s> http://marc.theaimsgroup.com/?l=linux-ext4&m=114669168616780&w=2

s> I will send the patch of simple defrag implementation for ext4 later.

s> Cheers, Takashi