diff mbox

[updated] ext4: Fix file fragmentation during large file write.

Message ID 20081010181253.GA20796@skywalker
State Superseded, archived
Headers show

Commit Message

Aneesh Kumar K.V Oct. 10, 2008, 6:12 p.m. UTC
On Fri, Oct 10, 2008 at 11:32:56PM +0530, Aneesh Kumar K.V wrote:
> The range_cyclic writeback mode use the address_space
> writeback_index as the start index for writeback. With
> delayed allocation we were updating writeback_index
> wrongly resulting in highly fragmented file. Number of
> extents reduced from 4000 to 27 for a 3GB file with
> the below patch.
> 
> The patch also removes the range_cont writeback mode
> added for ext4 delayed allocation. Instead we add
> two new flags in writeback_control which control
> the behaviour of write_cache_pages.
> 

Need the below update. Will send the updated patch to ext4 list.

[2.6.27-rc9-1-working@linux-review-ext]$ git diff
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index a85930c..4f359f4 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -960,7 +960,7 @@  int write_cache_pages(struct address_space *mapping,
                goto retry;
        }
        if (!wbc->no_index_update &&
-               (wbc->range_cyclic || (range_whole && wbc->nr_to_write > 0))) {
+               (wbc->range_cyclic || (range_whole && nr_to_write > 0))) {
                mapping->writeback_index = index;
        }
        if (!wbc->no_nrwrite_update)