On Sat, 2003-09-27 at 06:30, Martin v. Löwis wrote:
"Jason R. Mastaler" firstname.lastname@example.org writes:
I don't think the problem is severe; os.fsync is rarely used.
How did you arrive at this notion?
From four considerations:
- It did not show up in any of the tests.
- To use it, you have to use "bare" file descriptors; this is relatively un-pythonic.
- To use it, you have to worry about data getting on the disk - this really requires some kind of expert application.
- It is not universally available, so the expert application I had to assume in 3) would most likely test for presence of fsync, and fall back to just not use it (and perhaps invoke sync(1) instead).
I suppose ZODB is such an expert application. It has to cope with systems that do not provide fsync(), but it provides degraded service on such platforms. It is very important for the database to call fsync() when it commits a transaction.