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);
(*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)));
const struct lls_command *cmd = CMD_PTR(DSS);
char *errctx = NULL;
unsigned num_inputs;
- const struct dss_user_data *ud = NULL;
+ const struct dss_user_data *ud;
ret = lls_parse(argc, argv, cmd, &cmdline_lpr, &errctx);
if (ret < 0) {