* Linus Torvalds: > Now, this should _matter_ only for user processes that are buggy, > and that have written to the page _before_ extending it with > ftruncate().
APT seems to properly extend the file before mapping it, by writing a zero byte at the desired position (creating a hole). 24986 open("/var/cache/apt/pkgcache.bin", O_RDWR|O_CREAT|O_TRUNC, 0666) = 6 24986 lseek(6, 12582911, SEEK_SET) = 12582911 24986 write(6, "\0", 1) = 1 24986 mmap(NULL, 12582912, PROT_READ|PROT_WRITE, MAP_SHARED, 6, 0) = 0x2b6578636000 24986 msync(0x2b6578636000, 7464112, MS_SYNC) = 0 24986 msync(0x2b6578636000, 8656, MS_SYNC) = 0 24986 munmap(0x2b6578636000, 12582912) = 0 24986 ftruncate(6, 7464112) = 0 24986 fstat(6, {st_mode=S_IFREG|0644, st_size=7464112, ...}) = 0 24986 mmap(NULL, 7464112, PROT_READ, MAP_SHARED, 6, 0) = 0x2b6578636000 APT's code is pretty convoluted, though, and there might be some code path in it that gets it wrong. 8-P - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/