summaryrefslogtreecommitdiff
path: root/src/storagedb.erl
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2015-02-02 14:37:22 +0100
committerLinus Nordberg <linus@nordberg.se>2015-02-27 02:29:17 +0100
commitb5e8dd9ab57c8a971ea169b5212aceaa8326c7b7 (patch)
treec5f7d5f6a1855039f5c8031dd51c8c1b62cb830e /src/storagedb.erl
parent7e0e618b53b3badda8d99c9b04a814bd15c04dda (diff)
Only serialize the actual write on storagedb, not the fsync
Diffstat (limited to 'src/storagedb.erl')
-rw-r--r--src/storagedb.erl8
1 files changed, 5 insertions, 3 deletions
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}.