diff options
author | Micael Karlberg <[email protected]> | 2010-02-10 15:47:09 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-02-10 15:47:09 +0000 |
commit | 97cd65dfbbc1a64632962fc8369700bfcfebea44 (patch) | |
tree | d3458bfd9078cb7f3405c30dfc0ee24a98bc2da5 /lib/snmp/src | |
parent | ada6afd00530d6569c41741cfd9d63311ff60f25 (diff) | |
download | otp-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.erl | 15 | ||||
-rw-r--r-- | lib/snmp/src/manager/snmpm_net_if.erl | 8 | ||||
-rw-r--r-- | lib/snmp/src/misc/snmp_log.erl | 10 |
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]), |