I will admit that until I saw the CouchDB post, the scenario of 'program writes but crashes before fsync, restarted program re-reads the just written data and assumes it's safe on disk instead of just in the kernel buffer cache' had not occurred to me. I guess everything that reads a WAL or other recovery file should immediately fsync() it on startup.
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.