On Sun, Mar 10, 2013 at 11:50 AM, Dietmar Maurer <diet...@proxmox.com> wrote: >> About 4KB zero tracking: >> >> The vma.py module does not check for zeros, the mask is always 0xffff. >> There is a pathalogical case of a disk with every 2nd 4 KB block zeroed, >> here >> vma.py would create a fully-allocated file.But the more common case is that >> the >> whole 64 KB cluster is zero - think about the fact that qcow2/qed only do >> discard >> (zero clusters) at cluster level >> (64 KB). >> >> Also, if you try hard to zero 4 KB blocks then two things can happen: >> 1. You fragment the file, saving space now but turning sequential access into >> random access once those zero regions get filled in. >> 2. The underlying file system ignores the holes to reduce fragmentation and >> all >> the effort was wasted - I guess this can be checked with ioctl(FIEMAP/FIBMAP) >> to see how ext4/xfs/btrfs handle it. > > We track zero blocks at 4KB level to get small backup files. Restore can > handle those > blocks differently, either pre-allocate or create holes. That can even be a > restore option.
You are right, the behavior can be set at restore time. I'm curious how much of a win the 4 KB zero detection is on random Linux or Windows guest images. Have you collected numbers? Stefan