From 18f2b5660d157217d12841994dd2a9ec56dd5566 Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Thu, 29 Dec 2016 02:31:10 +0000 Subject: [PATCH] Fix to ensure directory structure created --- src/leveled_penciller.erl | 5 ++++- src/leveled_sst.erl | 13 +++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index 7f36325..fa98f9b 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -572,8 +572,11 @@ start_from_file(PCLopts) -> levelzero_index=leveled_pmem:new_index()}, %% Open manifest - ManifestPath = InitState#state.root_path ++ "/" ++ ?MANIFEST_FP ++ "/", + ManifestPath = filepath(InitState#state.root_path, manifest) ++ "/", + SSTPath = filepath(InitState#state.root_path, files) ++ "/", ok = filelib:ensure_dir(ManifestPath), + ok = filelib:ensure_dir(SSTPath), + {ok, Filenames} = file:list_dir(ManifestPath), CurrRegex = "nonzero_(?[0-9]+)\\." ++ ?CURRENT_FILEX, ValidManSQNs = lists:foldl(fun(FN, Acc) -> diff --git a/src/leveled_sst.erl b/src/leveled_sst.erl index ef699d6..602fc2d 100644 --- a/src/leveled_sst.erl +++ b/src/leveled_sst.erl @@ -493,12 +493,13 @@ write_file(Filename, SummaryBin, SlotsBin) -> SummaryLength = byte_size(SummaryBin), SlotsLength = byte_size(SlotsBin), {PendingName, FinalName} = generate_filenames(Filename), - file:write_file(PendingName, - <>, - [raw]), + DirName = filename:dirname(PendingName), + ok = file:write_file(PendingName, + <>, + [raw]), case filelib:is_file(FinalName) of true -> AltName = filename:join(filename:dirname(FinalName),