Message134213
| Author |
sdaoden |
| Recipients |
nadeem.vawda, neologix, pitrou, ronaldoussoren, sdaoden, vstinner |
| Date |
2011年04月21日.14:20:10 |
| SpamBayes Score |
3.7054984e-09 |
| Marked as misclassified |
No |
| Message-id |
<20110421142000.GA20466@sherwood.local> |
| In-reply-to |
| Content |
I'm convinced. And i've rewritten the patch.
Now fsync(2) is always called first *regardless* of the new
optional argument. The documentation is (a little bit) better
now. And i've added support for NetBSD, AIX and Linux; though:
- for AIX i'm testing (O_SYNC && O_DSYNC) which is almost
definitely the wrong test for this, but (a) i don't know when
fsync_range() has been introduced (seems to be many years) and
(b) i've never really worked on AIX.
(I only have the documentation:
http://www.filibeto.org/unix/aix/lib/rel/5.3/basetrf1.pdf.)
- i've added sync_file_range() on Linux because of
SYNC_FILE_RANGE_WAIT_AFTER in the hope that it means something
even though the manual page says something else - but Linux and
documentation is something by itself.
http://lwn.net/Articles/178199/ states
Providing all three flags guarantees that those pages are
actually on disk when the call returns.
- it seems OpenBSD, FreeBSD, Solaris 11 and HP/UX provide data
reliability through fsync(2) alone, see e.g. the notes near EOF
of the following Solaris 11 file:
http://www.filibeto.org/sun/lib/solaris11-express-docs/2010.11/E19963_01/html/821-1464/fcntl.h-3head.html#fcntl.h-3head |
| Files |
| File name |
Uploaded |
|
11877.2.diff
|
sdaoden,
2011年04月21日.14:20:10
|
|