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.
