Messages in this thread | | | From | Gregory Giguashvili <> | Subject | RE: Problem with msync system call | Date | Tue, 23 Jul 2002 21:36:26 +0200 |
| |
It seems to finally work both between two Linux machines and between Linux and other OSes! Thank you all for your help!
I attach the working source to whoever that cares...
>I think the problem in your case is that you have the pages mmaped. >NFS uses invalidate_inode_pages() to throw away the cache, but that >doesn't work when the pages are mapped. It may work to munmap/mmap >around the locking. Now, I think I understand what the problem is.
Can we make msync call with MS_INVALIDATE flag temporarily unmap the file, invalidate the cache and remap the file again? It sounds like a hell of an overhead, but users don't expect msync call to be a light one.
Anyway, this would be better than the current behavior, which in fact does nothing for the mapped files. Also, the documentation for msync call is extremely vague, which only adds to the confusion.
Best, Giga
[unhandled content-type:application/octet-stream] | |