du uses `st_blocks`, not `st_size`, so it should be fine for most applications. It is similar to how sparse files behave:<p><pre><code>    $ ls
    $ truncate -s 1M foo
    $ ls -lhp
    total 0
    -rw-r--r-- 1 catwell wheel 1.0M Apr 26 18:39 foo
    $ du
    0    .</code></pre>