X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=dss.c;h=2a0fb9edce9cb6af9ee9eecc880f9148bb2546bc;hb=cd4dc100fa8507f254e935e0747161d6a201b73c;hp=2660348254d0fca329b2ac24d43df245fb3364a7;hpb=56cb4048819e7c6ed00cd5723b823f3bb92c1d61;p=dss.git diff --git a/dss.c b/dss.c index 2660348..2a0fb9e 100644 --- a/dss.c +++ b/dss.c @@ -369,7 +369,7 @@ static int pre_create_hook(void) snapshot_creation_status = SCS_PRE_HOOK_SUCCESS; return 0; } - DSS_NOTICE_LOG("executing %s\n", conf.pre_create_hook_arg); + DSS_DEBUG_LOG("executing %s\n", conf.pre_create_hook_arg); ret = dss_exec_cmdline_pid(&create_pid, conf.pre_create_hook_arg, fds); if (ret < 0) @@ -534,6 +534,7 @@ out: static int handle_pre_create_hook_exit(int status) { int es, ret; + static int warn_count; if (!WIFEXITED(status)) { snapshot_creation_status = SCS_READY; @@ -543,11 +544,18 @@ static int handle_pre_create_hook_exit(int status) } es = WEXITSTATUS(status); if (es) { + if (!warn_count--) { + DSS_NOTICE_LOG("pre_create_hook %s returned %d\n", + conf.pre_create_hook_arg, es); + DSS_NOTICE_LOG("deferring snapshot creation...\n"); + warn_count = 60; /* warn only once per hour */ + } snapshot_creation_status = SCS_READY; compute_next_snapshot_time(); - ret = -E_BAD_EXIT_CODE; + ret = 0; goto out; } + warn_count = 0; snapshot_creation_status = SCS_PRE_HOOK_SUCCESS; ret = 1; out: