rsync: Remove hardcoded --quiet option.
[dss.git] / dss.c
diff --git a/dss.c b/dss.c
index 258cd3fe862054298f078e6815d152bdd56f162d..813d73dc11204a2a4a6989c89e23f469db049680 100644 (file)
--- a/dss.c
+++ b/dss.c
@@ -548,10 +548,17 @@ static int rename_incomplete_snapshot(int64_t start)
 {
        char *old_name;
        int ret;
+       int64_t now;
 
+       /*
+        * We don't want the dss_rename() below to fail with EEXIST because the
+        * last complete snapshot was created (and completed) in the same
+        * second as this one.
+        */
+       while ((now = get_current_time()) == start)
+               sleep(1);
        free(path_to_last_complete_snapshot);
-       ret = complete_name(start, get_current_time(),
-               &path_to_last_complete_snapshot);
+       ret = complete_name(start, now, &path_to_last_complete_snapshot);
        if (ret < 0)
                return ret;
        old_name = incomplete_name(start);
@@ -1141,7 +1148,7 @@ static void create_rsync_argv(char ***argv, int64_t *num)
 
        *argv = dss_malloc((15 + conf.rsync_option_given) * sizeof(char *));
        (*argv)[i++] = dss_strdup("rsync");
-       (*argv)[i++] = dss_strdup("-aq");
+       (*argv)[i++] = dss_strdup("-a");
        (*argv)[i++] = dss_strdup("--delete");
        for (j = 0; j < conf.rsync_option_given; j++)
                (*argv)[i++] = dss_strdup(conf.rsync_option_arg[j]);