[Devel] bug#21790: [PATCH] coreutils/cp: handle EOF extents correctly

Pádraig Brady P at draigbrady.com
Fri Oct 30 09:57:04 PDT 2015


On 30/10/15 09:02, Dmitry Monakhov wrote:
> fallocate can allocate extens beyond EOF via FALLOC_FL_KEEP_SIZE.
> Currenly sparse engine tries to copy such extents which is wrong and
> result in silent data corruption (leave file with incorrect size).
> 
> ##TESTCASE
> echo blabla > sparse_falloc.in
> truncate -s 2M sparse_falloc.in
> fallocate -n -o 4M -l 1M sparse_falloc.in
> cp sparse_falloc.in sparse_falloc.out
> cmp sparse_falloc.in sparse_falloc.out

Ouch.  Thanks for the analysis and patch.
It looks correct.  I'll analyze further before applying.

thanks!
Pádraig.




More information about the Devel mailing list