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 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) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html