Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added LFS support for Solaris 8
[rsync/rsync.git]
/
options.c
diff --git
a/options.c
b/options.c
index
6009e8d
..
6de6641
100644
(file)
--- a/
options.c
+++ b/
options.c
@@
-62,10
+62,12
@@
int safe_symlinks=0;
int copy_unsafe_links=0;
int block_size=BLOCK_SIZE;
int size_only=0;
int copy_unsafe_links=0;
int block_size=BLOCK_SIZE;
int size_only=0;
+int bwlimit=0;
int delete_after=0;
int only_existing=0;
int max_delete=0;
int ignore_errors=0;
int delete_after=0;
int only_existing=0;
int max_delete=0;
int ignore_errors=0;
+int blocking_io=0;
char *backup_suffix = BACKUP_SUFFIX;
char *tmpdir = NULL;
char *backup_suffix = BACKUP_SUFFIX;
char *tmpdir = NULL;
@@
-155,10
+157,12
@@
void usage(enum logcode F)
rprintf(F," --address bind to the specified address\n");
rprintf(F," --config=FILE specify alternate rsyncd.conf file\n");
rprintf(F," --port=PORT specify alternate rsyncd port number\n");
rprintf(F," --address bind to the specified address\n");
rprintf(F," --config=FILE specify alternate rsyncd.conf file\n");
rprintf(F," --port=PORT specify alternate rsyncd port number\n");
+ rprintf(F," --blocking-io use blocking IO for the remote shell\n");
rprintf(F," --stats give some file transfer stats\n");
rprintf(F," --progress show progress during transfer\n");
rprintf(F," --log-format=FORMAT log file transfers using specified format\n");
rprintf(F," --password-file=FILE get password from FILE\n");
rprintf(F," --stats give some file transfer stats\n");
rprintf(F," --progress show progress during transfer\n");
rprintf(F," --log-format=FORMAT log file transfers using specified format\n");
rprintf(F," --password-file=FILE get password from FILE\n");
+ rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n");
rprintf(F," -h, --help show this help screen\n");
rprintf(F,"\n");
rprintf(F," -h, --help show this help screen\n");
rprintf(F,"\n");
@@
-174,7
+178,7
@@
enum {OPT_VERSION, OPT_SUFFIX, OPT_SENDER, OPT_SERVER, OPT_EXCLUDE,
OPT_COPY_UNSAFE_LINKS, OPT_SAFE_LINKS, OPT_COMPARE_DEST,
OPT_LOG_FORMAT, OPT_PASSWORD_FILE, OPT_SIZE_ONLY, OPT_ADDRESS,
OPT_DELETE_AFTER, OPT_EXISTING, OPT_MAX_DELETE, OPT_BACKUP_DIR,
OPT_COPY_UNSAFE_LINKS, OPT_SAFE_LINKS, OPT_COMPARE_DEST,
OPT_LOG_FORMAT, OPT_PASSWORD_FILE, OPT_SIZE_ONLY, OPT_ADDRESS,
OPT_DELETE_AFTER, OPT_EXISTING, OPT_MAX_DELETE, OPT_BACKUP_DIR,
- OPT_IGNORE_ERRORS};
+ OPT_IGNORE_ERRORS
, OPT_BWLIMIT, OPT_BLOCKING_IO
};
static char *short_options = "oblLWHpguDCtcahvqrRIxnSe:B:T:zP";
static char *short_options = "oblLWHpguDCtcahvqrRIxnSe:B:T:zP";
@@
-232,9
+236,11
@@
static struct option long_options[] = {
{"partial", 0, 0, OPT_PARTIAL},
{"delete-after",0, 0, OPT_DELETE_AFTER},
{"ignore-errors",0, 0, OPT_IGNORE_ERRORS},
{"partial", 0, 0, OPT_PARTIAL},
{"delete-after",0, 0, OPT_DELETE_AFTER},
{"ignore-errors",0, 0, OPT_IGNORE_ERRORS},
+ {"blocking-io" ,0, 0, OPT_BLOCKING_IO},
{"config", 1, 0, OPT_CONFIG},
{"port", 1, 0, OPT_PORT},
{"log-format", 1, 0, OPT_LOG_FORMAT},
{"config", 1, 0, OPT_CONFIG},
{"port", 1, 0, OPT_PORT},
{"log-format", 1, 0, OPT_LOG_FORMAT},
+ {"bwlimit", 1, 0, OPT_BWLIMIT},
{"address", 1, 0, OPT_ADDRESS},
{"max-delete", 1, 0, OPT_MAX_DELETE},
{"backup-dir", 1, 0, OPT_BACKUP_DIR},
{"address", 1, 0, OPT_ADDRESS},
{"max-delete", 1, 0, OPT_MAX_DELETE},
{"backup-dir", 1, 0, OPT_BACKUP_DIR},
@@
-536,6
+542,10
@@
int parse_arguments(int argc, char *argv[], int frommain)
ignore_errors = 1;
break;
ignore_errors = 1;
break;
+ case OPT_BLOCKING_IO:
+ blocking_io = 1;
+ break;
+
case 'P':
do_progress = 1;
keep_partial = 1;
case 'P':
do_progress = 1;
keep_partial = 1;
@@
-552,6
+562,10
@@
int parse_arguments(int argc, char *argv[], int frommain)
case OPT_LOG_FORMAT:
log_format = optarg;
break;
case OPT_LOG_FORMAT:
log_format = optarg;
break;
+
+ case OPT_BWLIMIT:
+ bwlimit = atoi(optarg);
+ break;
case OPT_ADDRESS:
{
case OPT_ADDRESS:
{
@@
-584,6
+598,8
@@
void server_options(char **args,int *argc)
static char bsize[30];
static char iotime[30];
static char mdelete[30];
static char bsize[30];
static char iotime[30];
static char mdelete[30];
+ static char bw[50];
+
int i, x;
args[ac++] = "--server";
int i, x;
args[ac++] = "--server";
@@
-595,6
+611,7
@@
void server_options(char **args,int *argc)
argstr[0] = '-';
for (i=0;i<verbose;i++)
argstr[x++] = 'v';
argstr[0] = '-';
for (i=0;i<verbose;i++)
argstr[x++] = 'v';
+
/* the -q option is intentionally left out */
if (make_backups)
argstr[x++] = 'b';
/* the -q option is intentionally left out */
if (make_backups)
argstr[x++] = 'b';
@@
-636,6
+653,14
@@
void server_options(char **args,int *argc)
argstr[x++] = 'S';
if (do_compression)
argstr[x++] = 'z';
argstr[x++] = 'S';
if (do_compression)
argstr[x++] = 'z';
+
+ /* this is a complete hack - blame Rusty
+
+ this is a hack to make the list_only (remote file list)
+ more useful */
+ if (list_only && !recurse)
+ argstr[x++] = 'r';
+
argstr[x] = 0;
if (x != 1) args[ac++] = argstr;
argstr[x] = 0;
if (x != 1) args[ac++] = argstr;
@@
-655,6
+680,11
@@
void server_options(char **args,int *argc)
args[ac++] = iotime;
}
args[ac++] = iotime;
}
+ if (bwlimit) {
+ slprintf(bw,sizeof(bw),"--bwlimit=%d",bwlimit);
+ args[ac++] = bw;
+ }
+
if (strcmp(backup_suffix, BACKUP_SUFFIX)) {
args[ac++] = "--suffix";
args[ac++] = backup_suffix;
if (strcmp(backup_suffix, BACKUP_SUFFIX)) {
args[ac++] = "--suffix";
args[ac++] = backup_suffix;