X-Git-Url: http://git.tuebingen.mpg.de/?p=dss.git;a=blobdiff_plain;f=dss.c;h=57abf0248ad7b493248e7690a3452cc4927a8a1b;hp=5e2ef46f71251c6a157f2f9df02900c8e534a3a9;hb=3afe51391bf1ea546fc0fcf35c866e9ed8ba8d28;hpb=2d10a72798da5489363088dfbe02ccbc5942cfcd diff --git a/dss.c b/dss.c index 5e2ef46..57abf02 100644 --- a/dss.c +++ b/dss.c @@ -729,6 +729,7 @@ static int try_to_free_disk_space(void) if (!low_disk_space) goto out; DSS_WARNING_LOG(("disk space low and nothing obvious to remove\n")); + why = "oldest"; victim = find_oldest_removable_snapshot(&sl); if (victim) goto remove; @@ -1347,6 +1348,7 @@ static void create_rsync_argv(char ***argv, int64_t *num) char *logname; int i = 0, j, N = OPT_GIVEN(DSS, RSYNC_OPTION); struct snapshot_list sl; + static bool seeded; dss_get_snapshot_list(&sl); assert(!name_of_reference_snapshot); @@ -1357,6 +1359,14 @@ static void create_rsync_argv(char ***argv, int64_t *num) (*argv)[i++] = dss_strdup("rsync"); (*argv)[i++] = dss_strdup("-a"); (*argv)[i++] = dss_strdup("--delete"); + if (!seeded) { + srandom((unsigned)time(NULL)); /* no need to be fancy here */ + seeded = true; + } + if (1000 * (random() / (RAND_MAX + 1.0)) < OPT_UINT32_VAL(DSS, CHECKSUM)) { + DSS_NOTICE_LOG(("adding --checksum to rsync options\n")); + (*argv)[i++] = dss_strdup("--checksum"); + } for (j = 0; j < N; j++) (*argv)[i++] = dss_strdup(lls_string_val(j, OPT_RESULT(DSS, RSYNC_OPTION))); @@ -1687,6 +1697,13 @@ static int com_ls(void) } EXPORT_CMD_HANDLER(ls); +static int com_configtest(void) +{ + printf("Syntax Ok\n"); + return 0; +} +EXPORT_CMD_HANDLER(configtest); + static int setup_signal_handling(void) { int ret; @@ -1728,7 +1745,7 @@ static void show_subcommand_summary(void) for (i = 1; (cmd = lls_cmd(i, dss_suite)); i++) { const char *name = lls_command_name(cmd); const char *purpose = lls_purpose(cmd); - printf("%-10s%s\n", name, purpose); + printf("%-11s%s\n", name, purpose); } exit(EXIT_SUCCESS); }