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