]> git.tuebingen.mpg.de Git - dss.git/commitdiff
Merge branch 'master' into rm_hook
authorAndre Noll <maan@systemlinux.org>
Tue, 7 Apr 2009 12:18:14 +0000 (14:18 +0200)
committerAndre Noll <maan@systemlinux.org>
Tue, 7 Apr 2009 12:18:14 +0000 (14:18 +0200)
dss.c
dss.ggo

diff --git a/dss.c b/dss.c
index 2660348254d0fca329b2ac24d43df245fb3364a7..2a0fb9edce9cb6af9ee9eecc880f9148bb2546bc 100644 (file)
--- 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:
diff --git a/dss.ggo b/dss.ggo
index bca3fff2d5764a2f934e9d842c2ea9142052e3fa..099df4cd163765da66e2ba7eb1dca26789af1ed4 100644 (file)
--- a/dss.ggo
+++ b/dss.ggo
@@ -3,7 +3,7 @@
 # Licensed under the GPL v2. For licencing details see COPYING.
 
 package "dss"
-version "0.1.1"
+version "0.1.2"
 purpose "the dyadic snapshot scheduler
 
 dss creates hardlink-based snapshots of a given directory on a remote
@@ -195,8 +195,12 @@ string typestr="option"
 optional
 multiple
 details="
-       These option may be given multiple times. The arguments passed
-       to that option are passed verbatim to the rsync command.
+       This option may be given multiple times. The given argument is
+       passed verbatim to the rsync command. Note that in order to use
+       rsync options that require an argument, you have to specify the
+       option and its argument as separate --rsync-options, like this:
+
+               --rsync-option --exclude --rsync-option /proc
 "
 
 ###################