From 98477712c0d9ed067f10a1e86c1276494f295fcf Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Fri, 10 Feb 2017 23:10:08 +0100 Subject: Always load the tree before getting the root. The case where this is necessary is when we have zero merge secondaries and thus no merge_backup processes loading the tree for us. --- merge/src/merge_sth.erl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'merge/src/merge_sth.erl') diff --git a/merge/src/merge_sth.erl b/merge/src/merge_sth.erl index 3dffaca..9e9486c 100644 --- a/merge/src/merge_sth.erl +++ b/merge/src/merge_sth.erl @@ -81,7 +81,7 @@ do_make_sth(Size) -> %% verify both the new sth file against the signature and the new %% root against ht before writing to disk. NewTimestamp = plop:generate_timestamp(), - NewRoot = ht:root(Size - 1), + NewRoot = root(Size), PackedSignature = make_signature(NewTimestamp, Size, NewRoot), ok = case plop:verify_sth(Size, NewTimestamp, NewRoot, PackedSignature) of true -> @@ -134,8 +134,7 @@ verified_size(Path) -> end. validate_tree_head(Treesize, Roothash) -> - ht:load_tree(Treesize - 1), - ok = case ht:root(Treesize - 1) of + ok = case root(Treesize) of Roothash -> ok; RoothashInTree -> @@ -155,3 +154,7 @@ read_sth_treesize() -> true = plop:verify_sth(Treesize, Timestamp, RootHash, Signature), Treesize end. + +root(TreeSize) -> + ht:load_tree(TreeSize - 1), + ht:root(TreeSize - 1). -- cgit v1.1