Skip to content

Commit 3ff0889

Browse files
committed
Use fadvise dont_need when segments are written.
1 parent 7406ed2 commit 3ff0889

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/ra_log_segment.erl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,12 @@ close(#state{cfg = #cfg{fd = Fd, mode = append}} = State) ->
426426
% close needs to be defensive and idempotent so we ignore the return
427427
% values here
428428
_ = sync(State),
429+
case is_full(State) of
430+
true ->
431+
_ = file:advise(Fd, 0, 0, dont_need);
432+
false ->
433+
ok
434+
end,
429435
_ = file:close(Fd),
430436
ok;
431437
close(#state{cfg = #cfg{fd = Fd}}) ->

0 commit comments

Comments
 (0)