Re: [RFC] Ext3 online defrag

Takashi Sato
2006-11-15T09:54:15Z

Hi Alex,

Thank you for your information.
I have sent the patches of the defragmentation for a extent-based
file on ext3 using your patches of the multi-block allocation.
I'm happy if you have a time to review my patches.
"[RFC][PATCH 0/3] Extent base online defrag"
http://marc.theaimsgroup.com/?l=linux-ext4&m=116307062907075&w=2

And I'd like to start considering the defragmentation for ext4.
Do you have a plan to update your patches for ext4?

> 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?

Cheers, Takashi