Gavriel State gav@transgaming.com writes:
Looking at the kernel sources, it appears to be page-alignment, not filesystem block size that mmap needs to match. Rereading old wine-devel archives, it appears that the notion that the filesystem block size is involved is either from a very old kernel, or a misreading of some kernel comments.
Page alignment is needed for the address in memory, not for the offset inside the file on disk; since section virtual addresses in PE files are always page-aligned the memory address is never a problem. The only problem comes from the alignment of the data inside the PE file, and this is where we only need block-size alignment to make mmap possible.