Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4eeaa16
)
Changed how send_extra_file_list() checks if we have enough future work.
author
Wayne Davison
<wayned@samba.org>
Tue, 30 Jan 2007 03:57:45 +0000
(
03:57
+0000)
committer
Wayne Davison
<wayned@samba.org>
Tue, 30 Jan 2007 03:57:45 +0000
(
03:57
+0000)
flist.c
patch
|
blob
|
blame
|
history
diff --git
a/flist.c
b/flist.c
index
0834fe7
..
a0c534f
100644
(file)
--- a/
flist.c
+++ b/
flist.c
@@
-1278,16
+1278,20
@@
void send_extra_file_list(int f, int at_least)
char fbuf[MAXPATHLEN];
struct file_list *flist;
int64 start_write;
char fbuf[MAXPATHLEN];
struct file_list *flist;
int64 start_write;
- int
past_and_prese
nt, save_io_error = io_error;
+ int
future_c
nt, save_io_error = io_error;
if (send_dir_ndx < 0)
return;
/* Keep sending data until we have the requested number of
* files in the upcoming file-lists. */
if (send_dir_ndx < 0)
return;
/* Keep sending data until we have the requested number of
* files in the upcoming file-lists. */
- past_and_present = cur_flist->ndx_start - first_flist->ndx_start
- + cur_flist->count;
- while (file_total - past_and_present < at_least) {
+ if (cur_flist->next) {
+ flist = first_flist->prev; /* the newest flist */
+ future_cnt = flist->count
+ + flist->ndx_start - cur_flist->next->ndx_start;
+ } else
+ future_cnt = 0;
+ while (future_cnt < at_least) {
struct file_struct *file = dir_flist->files[send_dir_ndx];
int32 *dp;
int dlen;
struct file_struct *file = dir_flist->files[send_dir_ndx];
int32 *dp;
int dlen;
@@
-1310,6
+1314,7
@@
void send_extra_file_list(int f, int at_least)
clean_flist(flist, 0, 0);
file_total += flist->count;
clean_flist(flist, 0, 0);
file_total += flist->count;
+ future_cnt += flist->count;
stats.flist_size += stats.total_written - start_write;
stats.num_files += flist->count;
if (verbose > 3)
stats.flist_size += stats.total_written - start_write;
stats.num_files += flist->count;
if (verbose > 3)