On Wed, 04 Apr 2012 08:14:18 -0400, Roy Smith wrote: >> And sparse files are really hard to reproduce, at least on Unix: on >> Linux even the system's cp doesn't guarantee sparseness of the copy (the >> manual mentions a "crude heuristic"). > > I imagine the heuristic is to look for blocks of all zeros.
Yes. Although it's not really accurate to describe it as a "heuristic". With --sparse=always, it will try to make the output sparse regardless of whether the input was sparse, replacing any all-zeros block with a hole. The default of --sparse=auto will only create a sparse file if the input itself is sparse, i.e. if the length of the file rounded up to the nearest block exceeds its disk usage. Regardless of the --sparse= setting and whether the input was sparse, if it tries to create a sparse file it will create holes wherever possible rather than attempting to preserve the exact pattern of holes in a sparse input file. -- http://mail.python.org/mailman/listinfo/python-list