diff --git a/src/lib_storage/raw_store.ml b/src/lib_storage/raw_store.ml index 2848ade29..5f17fa4c4 100644 --- a/src/lib_storage/raw_store.ml +++ b/src/lib_storage/raw_store.ml @@ -66,7 +66,7 @@ let (>>=?) v f = let init ?mapsize path = if not (Sys.file_exists path) then Unix.mkdir path 0o755 ; - match Lmdb.opendir ?mapsize ~flags:[NoTLS] path 0o644 with + match Lmdb.opendir ?mapsize ~flags:[NoTLS; NoMetaSync] path 0o644 with | Ok dir -> return { dir ; parent = Lwt.new_key () } | Error err -> failwith "%a" Lmdb.pp_error err diff --git a/vendors/irmin-lmdb/irmin_lmdb.ml b/vendors/irmin-lmdb/irmin_lmdb.ml index 39a8357db..d69fdbe0a 100644 --- a/vendors/irmin-lmdb/irmin_lmdb.ml +++ b/vendors/irmin-lmdb/irmin_lmdb.ml @@ -641,7 +641,8 @@ module Make let { root ; mapsize ; readonly } = config conf in let root = match root with None -> "irmin.ldb" | Some root -> root in if not (Sys.file_exists root) then Unix.mkdir root 0o755 ; - let flags = Lmdb.NoRdAhead :: Lmdb.NoTLS :: if readonly then [ Lmdb.RdOnly ] else [] in + let flags = if readonly then [ Lmdb.RdOnly ] else [] in + let flags = Lmdb.NoMetaSync :: Lmdb.NoRdAhead :: Lmdb.NoTLS :: flags in let file_flags = if readonly then 0o444 else 0o644 in match Lmdb.opendir ~mapsize ~flags root file_flags with | Error err -> Lwt.fail_with (Lmdb.string_of_error err)