X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/03019e41fc3299020c8acdda06cf57a1e2c57a25..41b674b3ed541263d70a10d7796aca5d6cd73e03:/slow-down.diff diff --git a/slow-down.diff b/slow-down.diff index e3109fa..39ec240 100644 --- a/slow-down.diff +++ b/slow-down.diff @@ -14,29 +14,31 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make ---- old/flist.c -+++ new/flist.c -@@ -53,6 +53,7 @@ extern int copy_links; - extern int copy_unsafe_links; - extern int protocol_version; - extern int sanitize_paths; +diff --git a/flist.c b/flist.c +--- a/flist.c ++++ b/flist.c +@@ -69,6 +69,7 @@ extern int munge_symlinks; + extern int need_unsorted_flist; + extern int sender_symlink_iconv; + extern int unsort_ndx; +extern unsigned long sleep_asec; extern struct stats stats; - extern struct file_list *the_file_list; + extern char *filesfrom_host; -@@ -1036,6 +1037,9 @@ static void send_directory(int f, struct +@@ -1631,6 +1632,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, } - send_file_name(f, flist, fbuf, NULL, 0); + send_file_name(f, flist, fbuf, NULL, flags, filter_level); + /* Sleep for a bit, to avoid hammering the disk. */ + if (sleep_asec) + usleep(sleep_asec); } fbuf[len] = '\0'; ---- old/options.c -+++ new/options.c -@@ -102,6 +102,7 @@ int size_only = 0; +diff --git a/options.c b/options.c +--- a/options.c ++++ b/options.c +@@ -109,6 +109,7 @@ int size_only = 0; int daemon_bwlimit = 0; int bwlimit = 0; int fuzzy_basis = 0; @@ -44,19 +46,19 @@ To use this patch, run these commands for a successful build: size_t bwlimit_writemax = 0; int ignore_existing = 0; int ignore_non_existing = 0; -@@ -377,6 +378,7 @@ void usage(enum logcode F) - rprintf(F," --password-file=FILE read password from FILE\n"); +@@ -425,6 +426,7 @@ void usage(enum logcode F) + rprintf(F," --password-file=FILE read daemon-access password from FILE\n"); rprintf(F," --list-only list the files instead of copying them\n"); rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n"); + rprintf(F," --slow-down=USECs sleep N usec while creating the filelist\n"); rprintf(F," --write-batch=FILE write a batched update to FILE\n"); rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n"); rprintf(F," --read-batch=FILE read a batched update from FILE\n"); -@@ -516,6 +518,7 @@ static struct poptOption long_options[] - {"log-format", 0, POPT_ARG_STRING, &stdout_format, 0, 0, 0 }, /* DEPRECATED */ +@@ -605,6 +607,7 @@ static struct poptOption long_options[] = { {"itemize-changes", 'i', POPT_ARG_NONE, 0, 'i', 0, 0 }, - {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, + {"no-itemize-changes",0, POPT_ARG_VAL, &itemize_changes, 0, 0, 0 }, + {"no-i", 0, POPT_ARG_VAL, &itemize_changes, 0, 0, 0 }, + {"slow-down", 0, POPT_ARG_LONG, &sleep_asec, 0, 0, 0 }, - {"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 }, - {"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 }, - {"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 }, + {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, + {"no-bwlimit", 0, POPT_ARG_VAL, &bwlimit, 0, 0, 0 }, + {"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 },