aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/src/agent/snmpa_local_db.erl
diff options
context:
space:
mode:
authorSteve Vinoski <[email protected]>2013-09-20 14:23:35 -0400
committerMicael Karlberg <[email protected]>2013-10-09 11:21:04 +0200
commitc83c236f6a0a1a5299376e40db57e7b7527cbac7 (patch)
tree61253108c10682e359d7260ea6547a1a7ac4e10d /lib/snmp/src/agent/snmpa_local_db.erl
parent50e91bde3403c788bb1cabe644534f351d6dc1c1 (diff)
downloadotp-c83c236f6a0a1a5299376e40db57e7b7527cbac7.tar.gz
otp-c83c236f6a0a1a5299376e40db57e7b7527cbac7.tar.bz2
otp-c83c236f6a0a1a5299376e40db57e7b7527cbac7.zip
[snmp/agent] enable SNMP to create missing database directories
Add {db_init_error, create_db_and_dir} option to SNMP manager and agent. This allows them to create any missing parent directories for db_dir, rather than treating any missing directories as a fatal error. The default for db_init_error, which is terminate, is unchanged. Add create_db_and_dir to the documentation. Add new tests to verify that using create_db_and_dir results in missing parent directories being created.
Diffstat (limited to 'lib/snmp/src/agent/snmpa_local_db.erl')
-rw-r--r--lib/snmp/src/agent/snmpa_local_db.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/snmp/src/agent/snmpa_local_db.erl b/lib/snmp/src/agent/snmpa_local_db.erl
index 5198c6ec4e..a1e41257ce 100644
--- a/lib/snmp/src/agent/snmpa_local_db.erl
+++ b/lib/snmp/src/agent/snmpa_local_db.erl
@@ -191,6 +191,12 @@ dets_open(DbDir, DbInitError, Opts) ->
end
end;
_ ->
+ case DbInitError of
+ create_db_and_dir ->
+ ok = filelib:ensure_dir(Filename);
+ _ ->
+ ok
+ end,
case do_dets_open(Name, Filename, Opts) of
{ok, Dets} ->
?vdebug("dets open done",[]),