On Thu, Sep 3, 2009 at 6:09 AM, Greg Freemyer<greg.freemyer@xxxxxxxxx> wrote: > On Wed, Sep 2, 2009 at 11:35 AM, Peng Tao<bergwolf@xxxxxxxxx> wrote: >> If we allocate the donor file once for all, it will have a better chance >> to be continuous. >> >> Signed-off-by: "Peng Tao" <bergwolf@xxxxxxxxx> > > Seems like an improvement, but I'm not seeing any special handling for > sparse files. (Not before or after this patch.) > > Seems like there should be an outer loop that identifies contiguous > data block sets in a sparse file and defrags them individually as > opposed to trying to defrag the entire file at once. > > My impression is that with a large sparse file, e4defrag currently > (with or without this patch) would fallocate a full non-sparse donor > set of blocks the full size of the original file, then swap in just > the truly allocated blocks? Thanks for the reminder. The original code takes good care of sparse files in join_extents(). Please ignore my patch. Sorry for the noise. > > If so, that is not very optimum. > > Greg > -- Cheers, Peng Tao State Key Laboratory of Networking and Switching Technology Beijing Univ. of Posts and Telecoms. -- 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