diff options
Diffstat (limited to 'lib/kernel/src/disk_log.hrl')
-rw-r--r-- | lib/kernel/src/disk_log.hrl | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/lib/kernel/src/disk_log.hrl b/lib/kernel/src/disk_log.hrl index 6cb2c13f02..41844c03d2 100644 --- a/lib/kernel/src/disk_log.hrl +++ b/lib/kernel/src/disk_log.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2021. All Rights Reserved. +%% Copyright Ericsson AB 1997-2023. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -56,7 +56,8 @@ %%------------------------------------------------------------------------ -type dlog_format() :: 'external' | 'internal'. --type dlog_format_type() :: 'halt_ext' | 'halt_int' | 'wrap_ext' | 'wrap_int'. +-type dlog_format_type() :: 'halt_ext' | 'halt_int' | 'wrap_ext' | 'wrap_int' + | 'rotate_ext'. -type dlog_head() :: 'none' | {'ok', binary()} | mfa(). -type dlog_head_opt() :: none | term() | iodata(). -type log() :: term(). % XXX: refine @@ -83,7 +84,7 @@ | {MaxNoBytes :: pos_integer(), MaxNoFiles :: pos_integer()}. -type dlog_status() :: 'ok' | {'blocked', 'false' | [_]}. %QueueLogRecords --type dlog_type() :: 'halt' | 'wrap'. +-type dlog_type() :: 'halt' | 'wrap' | 'rotate'. %%------------------------------------------------------------------------ %% Records @@ -129,7 +130,7 @@ %% time the wrap log has filled the %% Dir/Name.NewMaxF file. curB :: non_neg_integer(), %% Number of bytes on current file. - curF :: integer(), %% Current file number. + curF :: integer(), %% Current file number cur_fdc :: #cache{}, %% Current file descriptor. cur_name :: file:filename(), %% Current file name for error reports. cur_cnt :: non_neg_integer(), %% Number of items on current file, @@ -146,6 +147,18 @@ %% overflows since the log was opened. ). +-record(rotate_handle, + {file :: file:filename(), + cur_fdc :: #cache{}, + inode, + file_check, + maxB :: pos_integer(), + maxF :: pos_integer() | {pos_integer(),pos_integer()}, + curB = 0 :: non_neg_integer(), + firstPos :: non_neg_integer(), + compress_on_rotate = true} + ). + -record(log, {status = ok :: dlog_status(), name :: dlog_name(), %% the key leading to this structure @@ -160,8 +173,8 @@ %% called when wraplog wraps mode :: dlog_mode(), size, %% value of open/1 option 'size' (never changed) - extra :: #halt{} | #handle{}, %% type of the log - version :: integer()} %% if wrap log file + extra :: #halt{} | #handle{} | #rotate_handle{}, %% type of the log + version :: integer() | undefined} %% if wrap log file, undefined for halt and rotate ). -record(continuation, %% Chunk continuation. |