Ticket #288 (assigned defect)

Opened 3 months ago

Last modified 3 months ago

Use F_FULLFSYNC ioctl where supported

Reported by: richard Owned by: olly
Priority: normal Milestone: 1.1.1
Component: Backend-Chert Version: SVN trunk
Severity: normal Keywords:
Cc: Blocked By:
Operating System: Mac OS X Blocking:

Description

I've recently noticed that, when performing an fsync, sqlite and mysql use a special ioctl on OS X which makes an effort to ensure that the disk's internal write buffers are flushed to the platters. Perhaps we should be using this ioctl too.

http://lists.apple.com/archives/darwin-dev/2005/Feb/msg00072.html has some details about why this is needed.

http://www.sqlite.org/cvstrac/fileview?f=sqlite/src/os_unix.c&v=1.195 contains the sqlite implementation; search for the "full_fsync" function.

Change History

Changed 3 months ago by olly

  • status changed from new to assigned
  • platform changed from All to Mac OS X
  • milestone set to 1.1.1

Definitely worth considering.

Note: See TracTickets for help on using tickets.