summaryrefslogtreecommitdiff
path: root/src/block
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2015-02-09 14:55:11 +1100
committerMichael Cahill <michael.cahill@mongodb.com>2015-02-09 14:55:11 +1100
commiteef5669f76021222fa2f432b63555571b1b67182 (patch)
treef0258a4ded37993d379cd1e193af03acbb3fd68d /src/block
parent4802b4b3288e5b83c7a133329188e485b3bfe4d1 (diff)
parent152a0efdbd3ea66b142f52eed3c9224437143eec (diff)
downloadmongo-eef5669f76021222fa2f432b63555571b1b67182.tar.gz
Merge pull request #1653 from wiredtiger/create-durability-race
Fix a bug in table create. A crash could cause recovery to break.
Diffstat (limited to 'src/block')
-rw-r--r--src/block/block_open.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/block/block_open.c b/src/block/block_open.c
index d3c5dc48659..d3af2f1ca91 100644
--- a/src/block/block_open.c
+++ b/src/block/block_open.c
@@ -54,6 +54,12 @@ __wt_block_manager_create(
/* Write out the file's meta-data. */
ret = __wt_desc_init(session, fh, allocsize);
+ /*
+ * Ensure the new file has made it to disk. Otherwise a crash
+ * after log records exist for the file can lead to a recovery failure.
+ */
+ WT_TRET(__wt_fsync(session, fh));
+
/* Close the file handle. */
WT_TRET(__wt_close(session, fh));