[issue8828] Atomic function to rename a file
report at bugs.python.org
Wed Sep 14 01:21:13 CEST 2011
STINNER Victor <victor.stinner at haypocalc.com> added the comment:
According to the following article, a fsync is also needed on the directory after a rename. I don't understand if is it always needed for an atomic rename, or if we only need it for the "atomic write" pattern.
"The more subtle usages deal with newly created files, or overwriting existing files. A newly created file may require an fsync() of not just the file itself, but also of the directory in which it was created (since this is where the file system looks to find your file). This behavior is actually file system (and mount option) dependent. You can either code specifically for each file system and mount option combination, or just perform fsync() calls on the directories to ensure that your code is portable."
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list