aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/src
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2010-02-10 15:47:09 +0000
committerErlang/OTP <[email protected]>2010-02-10 15:47:09 +0000
commit97cd65dfbbc1a64632962fc8369700bfcfebea44 (patch)
treed3458bfd9078cb7f3405c30dfc0ee24a98bc2da5 /lib/snmp/src
parentada6afd00530d6569c41741cfd9d63311ff60f25 (diff)
downloadotp-97cd65dfbbc1a64632962fc8369700bfcfebea44.tar.gz
otp-97cd65dfbbc1a64632962fc8369700bfcfebea44.tar.bz2
otp-97cd65dfbbc1a64632962fc8369700bfcfebea44.zip
OTP-8395[2]: Sequence numbers in Audit Trail Log(s).
Diffstat (limited to 'lib/snmp/src')
-rw-r--r--lib/snmp/src/agent/snmpa_net_if.erl15
-rw-r--r--lib/snmp/src/manager/snmpm_net_if.erl8
-rw-r--r--lib/snmp/src/misc/snmp_log.erl10
3 files changed, 26 insertions, 7 deletions
diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl
index bc0777a7dd..3a91cf4033 100644
--- a/lib/snmp/src/agent/snmpa_net_if.erl
+++ b/lib/snmp/src/agent/snmpa_net_if.erl
@@ -945,6 +945,12 @@ system_terminate(Reason, _Parent, _Dbg, #state{log = Log}) ->
do_close_log(Log),
exit(Reason).
+system_code_change(OldState, _Module, _OldVsn, downgrade_to_pre_4_16) ->
+ {OldLog, Type} = OldState#state.log,
+ NewLog = snmp_log:downgrade(OldLog),
+ NewState = OldState#state{log = {NewLog, Type}},
+ {ok, NewState};
+
system_code_change(OldState, _Module, _OldVsn, upgrade_from_pre_4_16) ->
Initial = ?ATL_SEQNO_INITIAL,
Max = ?ATL_SEQNO_MAX,
@@ -952,12 +958,11 @@ system_code_change(OldState, _Module, _OldVsn, upgrade_from_pre_4_16) ->
Function = increment_counter,
Args = [atl_seqno, Initial, Max],
SeqNoGen = {Module, Function, Args},
- NewLog = snmp_log:upgrade(OldState#state.log, SeqNoGen),
- NewState = OldState#state{log = NewLog},
- {ok, NewState};
-system_code_change(OldState, _Module, _OldVsn, downgrade_to_pre_4_16) ->
- NewState = OldState#state{log = snmp_log:downgrade(OldState#state.log)},
+ {OldLog, Type} = OldState#state.log,
+ NewLog = snmp_log:upgrade(OldLog, SeqNoGen),
+ NewState = OldState#state{log = {NewLog, Type}},
{ok, NewState};
+
system_code_change(S, _Module, _OldVsn, _Extra) ->
{ok, S}.
diff --git a/lib/snmp/src/manager/snmpm_net_if.erl b/lib/snmp/src/manager/snmpm_net_if.erl
index 4ec24af7f3..ad39157721 100644
--- a/lib/snmp/src/manager/snmpm_net_if.erl
+++ b/lib/snmp/src/manager/snmpm_net_if.erl
@@ -464,13 +464,17 @@ do_close_log(_) ->
code_change({down, _Vsn}, OldState, downgrade_to_pre_4_16) ->
?d("code_change(down) -> entry", []),
- State = OldState#state{log = snmp_log:downgrade(OldState#state.log)},
+ {OldLog, Type} = OldState#state.log,
+ NewLog = snmp_log:downgrade(OldLog),
+ State = OldState#state{log = {NewLog, Type}},
{ok, State};
% upgrade
code_change(_Vsn, OldState, upgrade_from_pre_4_16) ->
?d("code_change(up) -> entry", []),
- State = OldState#state{log = snmp_log:upgrade(OldState#state.log)},
+ {OldLog, Type} = OldState#state.log,
+ NewLog = snmp_log:upgrade(OldLog),
+ State = OldState#state{log = {NewLog, Type}},
{ok, State};
code_change(_Vsn, State, _Extra) ->
diff --git a/lib/snmp/src/misc/snmp_log.erl b/lib/snmp/src/misc/snmp_log.erl
index 9f4fdf97ca..f9aa911817 100644
--- a/lib/snmp/src/misc/snmp_log.erl
+++ b/lib/snmp/src/misc/snmp_log.erl
@@ -115,6 +115,11 @@ create(Name, File, SeqNoGen, Size, Repair, Notify) ->
close(#snmp_log{id = Log}) ->
?vtrace("close -> entry with"
"~n Log: ~p", [Log]),
+ do_close(Log);
+close(Log) ->
+ do_close(Log).
+
+do_close(Log) ->
disk_log:close(Log).
@@ -345,6 +350,11 @@ next_seqno(_) ->
%% -- change_size ---
change_size(#snmp_log{id = Log}, NewSize) ->
+ do_change_size(Log, NewSize);
+change_size(Log, NewSize) ->
+ do_change_size(Log, NewSize).
+
+do_change_size(Log, NewSize) ->
?vtrace("change_size -> entry with"
"~n Log: ~p"
"~n NewSize: ~p", [Log, NewSize]),