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),