Bug #36636 Falcon; missing fsync when compiled with HAVE_PREAD
Submitted: 9 May 2008 20:10 Modified: 8 Jan 2009 9:40
Reporter: Kevin Lewis Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.5 OS:Other
Assigned to: Kevin Lewis CPU Architecture:Any
Triage: D2 (Serious) / R2 (Low) / E2 (Low)

[9 May 2008 20:10] Kevin Lewis
In the case where 
#if defined(HAVE_PREAD) && !defined(HAVE_BROKEN_PREAD)
is true, the code in SerialLogFile::write() is missing an fsync.

How to repeat:
Kelly Long found this in the code.  I don't know which OS uses this.

Suggested fix:
Move if (forceFsync) fsync(handle); outside the #endif
[9 May 2008 20:15] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:


ChangeSet@1.2672, 2008-05-09 15:14:24-05:00, klewis@klewis-mysql. +1 -0
  Bug#36636 - Move fsync out of the #ifdef HAVE_PREAD scope so that it works in either case.
[22 Aug 2008 19:19] Kevin Lewis
Fix is in version 6.0.6
[8 Jan 2009 9:40] MC Brown
No documentation needed.