I would guess that if you stat() it and st_size > st_blksize * st_blocks, then it has holes in it.
I'm assuming that by hole you mean one of the disk blocks in the file is entirely 0s, and the filesystem doesn't bother to write such a block to disk but rather keeps a record of the fact that it should be there. Or I could be completely off base.
|