On 07/01/10 20:26, Eric Blake wrote: > sizeof(void*) == sizeof(size_t) == 4, but sizeof(ino_t) == 8, and most > inodes are quite randomly dispersed but definitely larger than 4 bytes. > Does your scheme work well at mapping cygwin's 8-byte inodes into > 4-byte pointers?
For those inode numbers the scheme uses table C, i.e., it hashes them into smaller integers. This won't work as well as file systems with "small" inode numbers (small, on 32-bit machines, means inode numbers less than 2**31), but it should still work better than du does now.