Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mmaped bigarrays over NFS #3571

vicuna opened this issue Mar 31, 2005 · 2 comments


None yet
1 participant
Copy link

commented Mar 31, 2005

Original bug ID: 3571
Reporter: administrator
Status: closed (set by @xavierleroy on 2013-08-31T10:49:00Z)
Resolution: fixed
Priority: normal
Severity: minor
Fixed in version: 4.00.0+dev
Category: ~DO NOT USE (was: OCaml general)
Monitored by: @hcarty

Bug description


je viens de lire ceci sur la page du serveur NFS linux :

,----[ ]
| Although some implementations of munmap(2) happen to write dirty pages
| to local file systems, the NFS version of munmap(2) does not. An
| msync(2) call is always required to guarantee that dirty mapped data
| is written to permanent storage.

il y a donc problème d'intégrité des données pour les bigarrays créés
avec Genarray.map_file en mode "shared". Rajouter un msync() juste
avant le munmap() n'est même pas suffisant puisque munmap est appelé
pendant la finalisation. Il faudrait donc rajouter une function
sync_file aux modules de Bigarray ...



This comment has been minimized.

Copy link

commented Dec 17, 2011

Comment author: @xavierleroy

I've been sleeping on this PR for years, so I'm un-assigning it for me just in case someone is willing to pick it. Can anyone confirm that the issue mentioned by Olivier is still there? If so, providing a wrapper around msync() in Bigarrays is a good idea. One thing to check, though, is whether msync() needs an existence test in configure, or whether it can safely be assumed to be there if we've found mmap and munmap.


This comment has been minimized.

Copy link

commented Apr 9, 2012

Comment author: @xavierleroy

Added call to msync() before munmap(). Commit 12326 in version/4.00, 12327 in trunk.

@vicuna vicuna closed this Aug 31, 2013

@vicuna vicuna added the bug label Mar 19, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.