From b5e8dd9ab57c8a971ea169b5212aceaa8326c7b7 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Mon, 2 Feb 2015 14:37:22 +0100 Subject: Only serialize the actual write on storagedb, not the fsync --- src/storagedb.erl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/storagedb.erl') diff --git a/src/storagedb.erl b/src/storagedb.erl index 444abc1..9cdf4c1 100644 --- a/src/storagedb.erl +++ b/src/storagedb.erl @@ -36,7 +36,9 @@ fetchnewhashes(Index) -> -spec add(binary()) -> ok. add(LeafHash) -> - call(?MODULE, {add, LeafHash}). + ok = call(?MODULE, {add_nosync, LeafHash}), + ok = index:sync(newentries_path()), + ok. %%%%%%%%%%%%%%%%%%%% %% gen_server callbacks. @@ -63,6 +65,6 @@ newentries_path() -> handle_call(stop, _From, State) -> {stop, normal, stopped, State}; -handle_call({add, LeafHash}, _From, State) -> - ok = index:addlast(newentries_path(), LeafHash), +handle_call({add_nosync, LeafHash}, _From, State) -> + ok = index:addlast_nosync(newentries_path(), LeafHash), {reply, ok, State}. -- cgit v1.1