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

Closed
vicuna opened this issue Mar 31, 2005 · 2 comments
Closed

mmaped bigarrays over NFS #3571

vicuna opened this issue Mar 31, 2005 · 2 comments
Labels

Comments

@vicuna
Copy link

vicuna 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

Bonjour,

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

,----[ http://nfs.sourceforge.net/#faq_d8 ]
| 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 ...

--
Olivier

@vicuna
Copy link
Author

vicuna 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.

@vicuna
Copy link
Author

vicuna 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 as completed 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
Labels
Projects
None yet
Development

No branches or pull requests

1 participant