Wayne Davison [Sat, 4 Aug 2007 17:47:02 +0000 (17:47 +0000)]
- Use the new XMIT_NON_XFER_DIR flag.
- Make sure that non-inc-recurse mode sets FLAG_XFER_DIR on all
the non-implied directories.
- Don't set FLAG_XFER_DIR on non-directories.
Wayne Davison [Sat, 4 Aug 2007 17:46:59 +0000 (17:46 +0000)]
- Added XMIT_NON_XFER_DIR flag.
- Incremented the SUBPROTOCOL_VERSION number.
Wayne Davison [Sat, 4 Aug 2007 16:10:37 +0000 (16:10 +0000)]
Only honor XFLAGS_HLINKED on a non-directory.
Wayne Davison [Sat, 4 Aug 2007 16:08:16 +0000 (16:08 +0000)]
Changed flags variable in send_file_entry() to xflags.
Wayne Davison [Wed, 1 Aug 2007 22:47:36 +0000 (22:47 +0000)]
Files with the same size should also be skipped by --append.
Wayne Davison [Wed, 1 Aug 2007 22:35:54 +0000 (22:35 +0000)]
Don't output a negative time-remaining value if the file has grown.
Wayne Davison [Wed, 1 Aug 2007 22:25:02 +0000 (22:25 +0000)]
Fixed the port-parsing in an path; e.g., this now
works properly: rsync://backup@otherbox/module/a:123:b
Wayne Davison [Wed, 1 Aug 2007 22:18:46 +0000 (22:18 +0000)]
If readdir() gives us an empty name, reject it.
Wayne Davison [Tue, 24 Jul 2007 04:09:46 +0000 (04:09 +0000)]
If --no-ir is specified, pass it to the server.
Wayne Davison [Sun, 15 Jul 2007 06:37:17 +0000 (06:37 +0000)]
Let's try using egrep instead of grep since grep on Solaris
systems was failing to work right.
Wayne Davison [Sun, 15 Jul 2007 06:01:27 +0000 (06:01 +0000)]
Updated the --max-delete docs.
Wayne Davison [Sun, 15 Jul 2007 05:51:05 +0000 (05:51 +0000)]
Mention the improved --max-delete behavior.
Wayne Davison [Sun, 15 Jul 2007 05:43:05 +0000 (05:43 +0000)]
We don't need a compatibility check for --max-delete anymore.
Wayne Davison [Sun, 15 Jul 2007 05:42:30 +0000 (05:42 +0000)]
We now take a negative value specified to --max-delete as being
synonymous with --max-delete=0. We also pass a request for 0
deletions to the server as --max-delete=-1. This ensures that we
can send a backward-compatible option to old and new versions alike.
Wayne Davison [Sat, 14 Jul 2007 22:24:03 +0000 (22:24 +0000)]
Improve the description of --update with respect to symlinks and
special files.
Wayne Davison [Sat, 14 Jul 2007 21:58:36 +0000 (21:58 +0000)]
Make extra-verbose output of touch_up_dirs() only mention the dirs.
Wayne Davison [Sat, 14 Jul 2007 21:49:11 +0000 (21:49 +0000)]
Using --relative with --no-implied-dirs turns off incremental recursion.
(A temporary measure until some bugs can be fixed.)
Wayne Davison [Sat, 14 Jul 2007 21:25:51 +0000 (21:25 +0000)]
- When --omit-implied-dirs is specified and the creation of a directory
fails, we must make sure that the item we're skipping has a name that
is still inside the missing hierarchy by using a prefix matching func.
- We now handle the failure to remove a file to create a dir the same
way as a failed mkdir() (skipping the failed dir's contents).
Wayne Davison [Sat, 14 Jul 2007 21:21:15 +0000 (21:21 +0000)]
- Made f_name() and f_name_cmp() take const pointers.
- Added f_name_has_prefix().
Wayne Davison [Sat, 14 Jul 2007 19:36:52 +0000 (19:36 +0000)]
Make sure that any "dont compress" patterns that have wildcards in a
suffix match stay in the wildcard-matching list.
Wayne Davison [Sat, 14 Jul 2007 19:32:10 +0000 (19:32 +0000)]
The "dont compress" daemon option points to the --skip-compress option
for the default set of non-compressed file suffixes.
Wayne Davison [Sat, 14 Jul 2007 19:29:04 +0000 (19:29 +0000)]
Mention the latest changes.
Wayne Davison [Sat, 14 Jul 2007 19:24:44 +0000 (19:24 +0000)]
Document --skip-compress.
Wayne Davison [Sat, 14 Jul 2007 19:24:35 +0000 (19:24 +0000)]
- Added support for the new --skip-compress option.
- Optimized the matching of non-compressing file suffixes.
Wayne Davison [Sat, 14 Jul 2007 19:24:32 +0000 (19:24 +0000)]
Parse the --skip-compress=LIST option and sent it to the sending side.
Wayne Davison [Sat, 14 Jul 2007 19:24:27 +0000 (19:24 +0000)]
Added more suffixes to the default "dont compress" value.
Wayne Davison [Sat, 14 Jul 2007 04:47:42 +0000 (04:47 +0000)]
Make sure that --dry-run with --del doesn't output extraneous info
when the dest directory does not exist.
Wayne Davison [Sat, 14 Jul 2007 04:20:13 +0000 (04:20 +0000)]
The delete-during code needs to skip directories that don't exist
yet in --dry-run mode to avoid outputting bogus delete details.
Wayne Davison [Sat, 14 Jul 2007 04:06:33 +0000 (04:06 +0000)]
Mention license change.
Wayne Davison [Thu, 12 Jul 2007 14:43:26 +0000 (14:43 +0000)]
Made some descriptions concerning modification times clearer.
Wayne Davison [Thu, 12 Jul 2007 14:04:11 +0000 (14:04 +0000)]
Needed to use ndx_end in decrement_flist_in_progress().
Wayne Davison [Tue, 10 Jul 2007 14:49:35 +0000 (14:49 +0000)]
Mention how --ignore-existing can be useful for restarting a copy
that uses --link-dest.
Wayne Davison [Tue, 10 Jul 2007 14:21:59 +0000 (14:21 +0000)]
- Use "filename", not "file name".
- Say "regular file" instead of "file" when itemizing a list of
non-directory types.
- Try to avoid "file" in its generic sense, as it is hard to figure
out when it includes dirs and when it doesn't.
Wayne Davison [Tue, 10 Jul 2007 13:55:49 +0000 (13:55 +0000)]
Tweaking the license text a bit more.
Wayne Davison [Mon, 9 Jul 2007 01:24:01 +0000 (01:24 +0000)]
Martin gave his approval to use GPLv3 with this code.
Wayne Davison [Sun, 8 Jul 2007 20:53:42 +0000 (20:53 +0000)]
- Do directory touch-ups at the end, even in inc-recurse mode.
- Use the latest F_DIR_*() defines (whose names were tweaked).
Wayne Davison [Sun, 8 Jul 2007 20:53:38 +0000 (20:53 +0000)]
- Use the new DEV_EXTRA_CNT and DIRNODE_EXTRA_CNT defines.
- Use the latest F_DIR_*() defines (whose names were tweaked).
Wayne Davison [Sun, 8 Jul 2007 20:53:35 +0000 (20:53 +0000)]
Use the latest F_DIR_*() defines (whose names were tweaked).
Wayne Davison [Sun, 8 Jul 2007 20:53:31 +0000 (20:53 +0000)]
- Define DEV_EXTRA_CNT and DIRNODE_EXTRA_CNT.
- Define and use ACL_BUMP(), fixing a clash between -A and -x in a
directory's data.
- Tweaked the F_DIR_*() defines to have more consistent names.
- Don't make F_SUM() return a char pointer that is const.
Wayne Davison [Sun, 8 Jul 2007 06:30:28 +0000 (06:30 +0000)]
Changed the spots that referred to the filter_level as filter_flags
to make the naming consistent.
Wayne Davison [Sun, 8 Jul 2007 06:25:57 +0000 (06:25 +0000)]
Added a test for --prune-empty-dirs.
Wayne Davison [Sun, 8 Jul 2007 06:25:54 +0000 (06:25 +0000)]
Got rid of the output differences for protocol 30 since it is now
the same as earlier protocols.
Wayne Davison [Sun, 8 Jul 2007 06:25:51 +0000 (06:25 +0000)]
- Incremental recursion mode does not process the dirs while scanning a
file list's contents. Instead, it handles a parent dir prior to each
extra file list. This makes the dir-processing order the same in
protocol 30 as it is in earlier protocols.
- Moved the permission-fudging code for dirs into recv_generator() to
make the new protocol-30 dir-handling logic easier.
Wayne Davison [Sun, 8 Jul 2007 06:25:47 +0000 (06:25 +0000)]
If we get an ndx that is 1 entry prior to an incremental flist's
start, it refers to the file list's parent dir.
Wayne Davison [Sun, 8 Jul 2007 06:25:42 +0000 (06:25 +0000)]
- The sending side now sets the parent_ndx value in each file list.
- Leave a 1-entry gap between incremental file lists so that we can use
that index value to refer to the parent directory of each file list.
- Set and use the new ndx_end value in the file list. The incremental
recursion mode omits dirs in this value (except in the first list)
since the generator will be using the new "gap" ndx value to process
each parent dir.
Wayne Davison [Sun, 8 Jul 2007 06:25:36 +0000 (06:25 +0000)]
- Increased the SUBPROTOCOL_VERSION to 4 due to the new dir-ndx logic.
- Added ndx_end value to struct file_list.
Wayne Davison [Sat, 7 Jul 2007 20:43:14 +0000 (20:43 +0000)]
Avoid the prune-empty-dir code when cleaning a file list created
by get_dirlist().
Wayne Davison [Sat, 7 Jul 2007 20:22:05 +0000 (20:22 +0000)]
Changed "count" to "used" in struct file_list since there can
be empty items that make the count inaccurate (and the name
somewhat deceiving).
Wayne Davison [Sat, 7 Jul 2007 16:01:59 +0000 (16:01 +0000)]
The length check in make_file() doesn't need to subtract pathname_len
anymore, as the sender code never concatenates the F_PATHNAME() value
with the dirname+basename string these days.
Wayne Davison [Sat, 7 Jul 2007 15:37:56 +0000 (15:37 +0000)]
Make the comment even better.
Wayne Davison [Sat, 7 Jul 2007 05:33:14 +0000 (05:33 +0000)]
Switching to GPL 3.
Wayne Davison [Sat, 7 Jul 2007 05:25:50 +0000 (05:25 +0000)]
Tweaked a comment to remove a (really old) rsync version reference.
Wayne Davison [Mon, 2 Jul 2007 22:11:23 +0000 (22:11 +0000)]
Switch the checking of preserve_[ug]id var to checking [ug]id_ndx var
when the code is about to use the [ug]id_ndx value as an index (since
this saves a memory reference).
Wayne Davison [Mon, 2 Jul 2007 22:06:48 +0000 (22:06 +0000)]
Use module_dir instead of lp_path().
Wayne Davison [Mon, 2 Jul 2007 22:02:14 +0000 (22:02 +0000)]
If a module's path is not absolute, make it absolute.
Wayne Davison [Mon, 2 Jul 2007 21:35:14 +0000 (21:35 +0000)]
We omit copying any user-space %FOO attributes unless the
user specified -X twice.
Wayne Davison [Mon, 2 Jul 2007 21:29:49 +0000 (21:29 +0000)]
Make option variables a little clearer by using separate FOO_ndx
values to index into the file-list extra-attribute array instead
of abusing the preserve_FOO variables.
Wayne Davison [Wed, 6 Jun 2007 15:43:34 +0000 (15:43 +0000)]
Decided against the last change.
Wayne Davison [Wed, 6 Jun 2007 15:38:31 +0000 (15:38 +0000)]
Allow a NULL address to be passed to pool_free_old() to indicate that
it should free all old mem and reset to an empty state.
Wayne Davison [Sat, 2 Jun 2007 16:44:23 +0000 (16:44 +0000)]
Check for the setacl command for Tru64 (which doesn't have setfacl).
Wayne Davison [Sat, 2 Jun 2007 16:30:04 +0000 (16:30 +0000)]
Attempting to make the mask test compatible with Solaris 8.
Wayne Davison [Tue, 29 May 2007 04:23:50 +0000 (04:23 +0000)]
Mention the pool_alloc changes.
Wayne Davison [Tue, 29 May 2007 04:19:47 +0000 (04:19 +0000)]
Unified the file-list pool used in incremental recursion mode so that
we use less memory, especially in small transfers. As file lists are
discarded, we use the new pool_boundary() and pool_free_old() functions
to discard pool extents that are no longer needed.
Wayne Davison [Tue, 29 May 2007 04:19:44 +0000 (04:19 +0000)]
- Changed FILE_EXTENT to NORMAL_EXTENT and HLINK_EXTENT to SMALL_EXTENT.
- Added a pool_boundary variable to struct file_list.
Wayne Davison [Tue, 29 May 2007 04:19:41 +0000 (04:19 +0000)]
Added pool_free_old() and pool_boundary() functions to add a way to
free all wholly affected extents older than a particular point in time.
Wayne Davison [Tue, 29 May 2007 02:47:23 +0000 (02:47 +0000)]
Tweaked a variable and a label to make them less confusing.
Wayne Davison [Tue, 29 May 2007 02:46:44 +0000 (02:46 +0000)]
Improvements to increase clarity, fix misstatements, add missing
punctuation, and fix some typos.
Wayne Davison [Tue, 29 May 2007 00:52:08 +0000 (00:52 +0000)]
- Fixed a bug where a pool_free() on the most-recently allocated pool
item was trying to make that memory available to the pool, but it
failed to adjust the right variable.
- Fixed a bug in pool_free() where the return of the entire live
extent back to unallocated status did not obey POOL_CLEAR.
- Use the new() and new_array() functions instead of malloc().
- Changed the sqew variable to skew.
- Some other minor formatting tweaks.
Wayne Davison [Sat, 26 May 2007 21:46:22 +0000 (21:46 +0000)]
- Do less seeking when writing a sparse file.
- Don't rewrite the last byte of a file in sparse mode when the
file didn't end with a null char.
Wayne Davison [Sat, 26 May 2007 21:44:19 +0000 (21:44 +0000)]
Handle EINTR in a couple places where we handle the --file-from I/O.
Wayne Davison [Fri, 25 May 2007 14:32:08 +0000 (14:32 +0000)]
Changed verbosity back from -vvvv to -vv.
Wayne Davison [Fri, 25 May 2007 14:29:35 +0000 (14:29 +0000)]
Improved the sort comment.
Wayne Davison [Fri, 25 May 2007 14:23:05 +0000 (14:23 +0000)]
Improved a comment.
Wayne Davison [Fri, 25 May 2007 14:16:57 +0000 (14:16 +0000)]
Got rid of superfluous acl_clear_perms() call that Antti Tapaninen
pointed out.
Wayne Davison [Thu, 24 May 2007 23:11:33 +0000 (23:11 +0000)]
Mention latest improvements.
Wayne Davison [Thu, 24 May 2007 23:08:39 +0000 (23:08 +0000)]
Changed dup-detection code to keep the first item in the user's args.
This is more in keeping with the way cp works, and also makes the dir-
joining code (in inc_recurse mode) easier.
Wayne Davison [Thu, 24 May 2007 02:50:41 +0000 (02:50 +0000)]
- Added fsort() and fsort_tmp() that implement a mergesort routine
that ensures that any identical items in the file-list stay in the
same order as they had in the input. It will also obey the --qsort
option (which causes it to punt the sort to the qsort() routine).
- Changed the various places that sort the file-list to call fsort().
Wayne Davison [Thu, 24 May 2007 02:50:38 +0000 (02:50 +0000)]
If someone forces the use of qsort() via --qsort, disable incremental
recursion (at least for now).
Wayne Davison [Thu, 24 May 2007 02:50:35 +0000 (02:50 +0000)]
- Added the --qsort option.
- Added several new --no-FOO options.
Wayne Davison [Wed, 23 May 2007 00:48:27 +0000 (00:48 +0000)]
Make sure we don't try to output a NULL pointer in a verbose message.
Wayne Davison [Wed, 23 May 2007 00:42:38 +0000 (00:42 +0000)]
- Output a -vvv(erbose) message in the touch_up_dirs() loop.
- Made the keep-alive counter in touch_up_dirs() work better.
- Use !(N & 0xFF) instead of !(N % 200).
Wayne Davison [Wed, 23 May 2007 00:42:32 +0000 (00:42 +0000)]
Output a -vvv(erbose) message when receiving an incremental file list.
Wayne Davison [Tue, 22 May 2007 05:59:02 +0000 (05:59 +0000)]
Added a comment to the do_chmod() to mark it as a discouraged function.
Wayne Davison [Tue, 22 May 2007 05:58:59 +0000 (05:58 +0000)]
Added a comment to a shared iterator to avoid a warning from IBM's checker.
Wayne Davison [Tue, 22 May 2007 05:50:47 +0000 (05:50 +0000)]
- Changed the dir_flist code on the sending side to derive its sorted
data from the sorted parent flist. This ensures that any entries
marked with FLAG_DUPLICATE are in the same order in the dir_flist
(where the flags get checked) as they are in the parent flist
(where the flags get set).
- Made the flist_expand() function static.
- Added a growth count arg to flist_expand().
- Made make_file() set a pool variable instead of tweaking flist.
- Improved the error message when a dir-number is out of bounds.
Wayne Davison [Tue, 22 May 2007 05:50:41 +0000 (05:50 +0000)]
Improved the error message when a dir-number is out of bounds.
Wayne Davison [Tue, 22 May 2007 03:58:18 +0000 (03:58 +0000)]
One more output_flist() call that should verify if my analysis
of the Solaris 10 host's merge-test failure is correct or not.
Wayne Davison [Tue, 22 May 2007 00:00:51 +0000 (00:00 +0000)]
Be more verbose so that we can debug what is going wrong on solaris.
Wayne Davison [Tue, 22 May 2007 00:00:07 +0000 (00:00 +0000)]
Improved the index values that output_flist() outputs when we're being
extra verbose: they now have the list's ndx_start value added in.
Wayne Davison [Mon, 21 May 2007 23:45:26 +0000 (23:45 +0000)]
One more try at silencing some checker warnings.
Wayne Davison [Mon, 21 May 2007 18:39:05 +0000 (18:39 +0000)]
Let's see if we can silence some more code-checker warnings.
Wayne Davison [Mon, 21 May 2007 10:20:18 +0000 (10:20 +0000)]
Added some "FALL THROUGH" comments in the main switch.
Wayne Davison [Mon, 21 May 2007 03:56:06 +0000 (03:56 +0000)]
Get rid of compiler warning about iconv()'s second parameter.
Wayne Davison [Mon, 21 May 2007 03:20:39 +0000 (03:20 +0000)]
Fixed a thinko in the calling of recv_add_gid().
Wayne Davison [Mon, 21 May 2007 03:09:25 +0000 (03:09 +0000)]
Got rid of the temporary "set -x" that was added for debugging.
Wayne Davison [Mon, 21 May 2007 03:08:55 +0000 (03:08 +0000)]
The match_gid() function needed to affect the *flags_ptr value
when re-using the last-found match.
Wayne Davison [Mon, 21 May 2007 03:08:01 +0000 (03:08 +0000)]
The recv_file_entry() function needed to remember the gid flags so that
it can reuse them when the gid stays the same.
Wayne Davison [Mon, 21 May 2007 02:31:20 +0000 (02:31 +0000)]
Set -x option to diagnose what is going wrong on FreeBSD.
Wayne Davison [Mon, 21 May 2007 02:17:48 +0000 (02:17 +0000)]
Cast some F_OWNER()/F_GROUP() values to make sure that we don't get
a signed/unsigned compiler warning on some systems.
Wayne Davison [Mon, 21 May 2007 02:09:45 +0000 (02:09 +0000)]
Fixed a problem in a couple OS's sys_acl_get_access_bits() functions.