Subject: bug#6131: [PATCH]: fiemap support for efficient sparse file copy

From: Paul Eggert <[email-masked]>
Date: Tue, 15 Jun 2010 14:09:22 -0700

On 06/11/2010 01:31 AM, jeff.liu wrote:

> +      fiemap->fm_flags = FIEMAP_FLAG_SYNC;

If I'm reading the Linux source code correctly,
this forces all the dirty blocks in the input file to disk, and
forces the kernel to wait until all those blocks actually hit the disk.
We don't need that; there shouldn't be a need to force any
blocks to hit the disk.  All that 'cp' needs to know is: please tell me
the next block which might contain nonzero data.  Is there some way
that we can get that information without forcing the input file's
blocks to disk?