X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/e66d6d511b675d31a3c55b51fd28d5d2558d094a..963ca80882dea2131e78563fa59e3e0e7c70c195:/drop-cache.diff diff --git a/drop-cache.diff b/drop-cache.diff index 52b53c0..82d01ff 100644 --- a/drop-cache.diff +++ b/drop-cache.diff @@ -56,7 +56,7 @@ You can get the latest edition of the patch from cheers tobi -Changes: +Changes: 2007-04-23 @@ -80,7 +80,7 @@ diff --git a/checksum.c b/checksum.c diff --git a/cleanup.c b/cleanup.c --- a/cleanup.c +++ b/cleanup.c -@@ -47,7 +47,13 @@ void close_all(void) +@@ -46,7 +46,13 @@ void close_all(void) int fd; int ret; STRUCT_STAT st; @@ -182,7 +182,7 @@ diff --git a/options.c b/options.c diff --git a/receiver.c b/receiver.c --- a/receiver.c +++ b/receiver.c -@@ -62,6 +62,10 @@ static int phase = 0, redoing = 0; +@@ -63,6 +63,10 @@ static flist_ndx_list batch_redo_list; /* We're either updating the basis file or an identical copy: */ static int updating_basis_or_equiv; @@ -204,7 +204,7 @@ diff --git a/rsync.yo b/rsync.yo -n, --dry-run perform a trial run with no changes made -W, --whole-file copy files whole (w/o delta-xfer algorithm) -x, --one-file-system don't cross filesystem boundaries -@@ -1043,6 +1044,10 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs" +@@ -1049,6 +1050,10 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs" filesystem. It doesn't seem to handle seeks over null regions correctly and ends up corrupting the files. @@ -251,7 +251,7 @@ diff --git a/util.c b/util.c extern int modify_window; extern int relative_paths; extern int human_readable; -@@ -41,6 +42,131 @@ char curr_dir[MAXPATHLEN]; +@@ -42,6 +43,131 @@ char curr_dir[MAXPATHLEN]; unsigned int curr_dir_len; int curr_dir_depth; /* This is only set for a sanitizing daemon. */ @@ -365,12 +365,12 @@ diff --git a/util.c b/util.c + fadv_fd_init_func(); + fadv_close_buffer_size += pos - fadv_fd_pos[fd]; + fadv_close_ring[fadv_close_ring_head] = newfd; -+ fadv_close_ring_head = (fadv_close_ring_head + 1) % fadv_max_fd; ++ fadv_close_ring_head = (fadv_close_ring_head + 1) % fadv_max_fd; + fadv_close_ring_size ++; + if (fadv_close_ring_size == fadv_max_fd || fadv_close_buffer_size > 1024*1024 ){ + /* it seems fastest to drop things 'in groups' */ + fadv_close_all(); -+ } ++ } + } + return close(fd); +}