> Hello. I have been studying the mmap function and it seems like when I> map an sparse file, that the parts of the file that have nothing are> defined as 0 when I access them through the address space returned by> mmap. Is that luck or is it defined to be this way? My only source of> information was debian's manpage on mmap that didn't seem to talk> about sparse files at all.

That's not luck, it is required to be that way.

Though I've not located such a definition with respect to mmap(),it would be perverse if mmap() showed you different data there fromwhat read() shows you, and the Single Unix Specification (Version 3)says of read():

"If any portion of a regular file prior to the end-of-file has not been written, read() shall return bytes with value 0."