Wayne Davison [Sat, 23 Dec 2006 20:48:29 +0000 (20:48 +0000)]
Fixed a problem with the output of %f for non-daemon rsyncs.
Wayne Davison [Sat, 23 Dec 2006 20:46:33 +0000 (20:46 +0000)]
Mention the %f fix.
Wayne Davison [Wed, 20 Dec 2006 00:50:17 +0000 (00:50 +0000)]
Fixed the item numbers in the regex comment.
Wayne Davison [Mon, 18 Dec 2006 07:24:24 +0000 (07:24 +0000)]
Call SIGACTION() instead of signal().
Wayne Davison [Mon, 18 Dec 2006 06:56:30 +0000 (06:56 +0000)]
Moved the write_stream_flags() call from io.c into main.c so that
it gets called before the transfer starts (thus ensuring that it
can write out un-tweaked values of preserver_[ug]id vars).
Wayne Davison [Mon, 18 Dec 2006 06:56:26 +0000 (06:56 +0000)]
Renamed flist_extra_cnt to file_extra_cnt.
Wayne Davison [Mon, 18 Dec 2006 06:56:23 +0000 (06:56 +0000)]
Got rid of the "tweaked" versions of the uid and gid vars.
Wayne Davison [Mon, 18 Dec 2006 06:41:00 +0000 (06:41 +0000)]
Tweaked the output a little.
Wayne Davison [Sun, 17 Dec 2006 04:42:33 +0000 (04:42 +0000)]
A few more minor tweaks.
Wayne Davison [Sun, 17 Dec 2006 02:05:11 +0000 (02:05 +0000)]
- We now define int16 and uint16.
- Make use of the [u]int{16,32,64}_t types, if they're around.
Wayne Davison [Sun, 17 Dec 2006 01:59:03 +0000 (01:59 +0000)]
We now check for these: int16_t, uint16_t, int32_t, uint32_t, and int64_t.
Wayne Davison [Sun, 17 Dec 2006 00:40:39 +0000 (00:40 +0000)]
Got rid of the code that sorted based on struct idev objects since
we always use a hardlinked group-number now.
Wayne Davison [Sun, 17 Dec 2006 00:40:36 +0000 (00:40 +0000)]
Use F_ROOTDIR() in place of dir.root.
Wayne Davison [Sun, 17 Dec 2006 00:40:33 +0000 (00:40 +0000)]
Use F_DEPTH() in place of dir.depth.
Wayne Davison [Sun, 17 Dec 2006 00:40:28 +0000 (00:40 +0000)]
Got rid of the hlink_pool in favor of using the new hashtable code
on the receiving side. This allows us to always use a 32-bit number
to identify the hardlink clusters, even on a system where pointers
are 64-bits. Also made changes to handle the use of F_ROOTDIR() and
F_DEPTH() instead of the old union that wasted space on the
receiving side when pointers are 64-bits.
Wayne Davison [Sun, 17 Dec 2006 00:40:24 +0000 (00:40 +0000)]
- Got rid of "struct idev".
- Use just the 32-bit numbers in the file_extras union.
- Re-ordered the items in the file_struct to avoid padding
on systems with 64-bit pointers.
- Got rid of the "dir" union in the file_struct, making the
two items into "extras": F_DEPTH() for the receiving side,
and F_ROOTDIR() for the sending side.
- Added PTR_EXTRA_LEN define.
- Got rid of F_HL_IDEV() define.
Wayne Davison [Sun, 17 Dec 2006 00:40:21 +0000 (00:40 +0000)]
Moved the flist_extra_cnt stuff from options.c to compat.c so that
the values will be computed separately for the sender and the
receiver.
Wayne Davison [Sun, 17 Dec 2006 00:40:18 +0000 (00:40 +0000)]
- Ensure that mkrouding gets rebuilt when h changes.
- Added an easy way to run the tests using protocol 29.
Wayne Davison [Sat, 16 Dec 2006 23:14:59 +0000 (23:14 +0000)]
Make the error messages a little clearer.
Wayne Davison [Sat, 16 Dec 2006 21:11:58 +0000 (21:11 +0000)]
Output some info about the size of our structures.
Wayne Davison [Sat, 16 Dec 2006 19:24:17 +0000 (19:24 +0000)]
Changed the static file_struct var to match the changes in h.
Wayne Davison [Sat, 16 Dec 2006 19:24:14 +0000 (19:24 +0000)]
Use the new rounding.h file to optionally round up the count of
extra values we put at the start of the file_struct. Also, deal
with the extras variable no longer being in the file_struct.
Wayne Davison [Sat, 16 Dec 2006 19:24:11 +0000 (19:24 +0000)]
Build & run mkrounding to make the rounding.h file used by flist.c.
Also, clean up the new items.
Wayne Davison [Sat, 16 Dec 2006 19:24:08 +0000 (19:24 +0000)]
Moved the file_extra union out of the file_struct.
Wayne Davison [Sat, 16 Dec 2006 19:24:05 +0000 (19:24 +0000)]
New file to figure out if a system has any rounding needs when
prepending extra values at the start of the file_struct.
Wayne Davison [Sat, 16 Dec 2006 19:24:02 +0000 (19:24 +0000)]
Added mkrounding and rounding.h.
Wayne Davison [Sat, 16 Dec 2006 07:39:53 +0000 (07:39 +0000)]
Mention hard-link memory savings and byte-transfer savings.
Wayne Davison [Sat, 16 Dec 2006 07:18:41 +0000 (07:18 +0000)]
Added a basename var to file_struct at the end, making it clearer
where the basename exists without actually changing how the data
is organized.
Wayne Davison [Sat, 16 Dec 2006 02:18:44 +0000 (02:18 +0000)]
Changed the test for the 2.6.8 bug to preserve owner and group.
Wayne Davison [Fri, 15 Dec 2006 22:31:16 +0000 (22:31 +0000)]
Moved the calls to init_hard_links() into flist.c.
Wayne Davison [Fri, 15 Dec 2006 22:31:13 +0000 (22:31 +0000)]
Added a simple hashtable routine for hashing st_dev and st_ino info
on the sending side, and the support routines for the receiving side
that handle using a "group number" for each hard-link cluster rather
than having to manage a pool of dev+inode data. (For protocol 30)
Wayne Davison [Fri, 15 Dec 2006 22:31:10 +0000 (22:31 +0000)]
For protocol 30, the sender uses the new idev_node() hashfile
routine to keep track of which item is the first one in a particular
hard-link cluster. It then abbreviates the sending of any follow-on
items in the cluster, reducing transfer bytes. It also omits the
sending of any dev+inode data to the receiver, saving even more xfer
bytes (since the receiver can associate the entries based on the the
group's index number that is sent when abbreviating an entry).
Wayne Davison [Fri, 15 Dec 2006 22:31:07 +0000 (22:31 +0000)]
- The XMIT_SAME_DEV define is now pre-protocol-30 specific.
- Added XMIT_HLINK_FIRST define.
- Added struct idev_node.
- Added F_HL_GNUM() for protocol 30 (used in place of F_HL_IDEV()).
Wayne Davison [Thu, 14 Dec 2006 22:38:21 +0000 (22:38 +0000)]
Renamed XMIT_HAS_IDEV_DATA to XMIT_HLINKED.
Wayne Davison [Wed, 13 Dec 2006 15:36:15 +0000 (15:36 +0000)]
Renamed the F_*HLINK* macros to make their purpose clearer.
Wayne Davison [Wed, 13 Dec 2006 14:52:59 +0000 (14:52 +0000)]
Tweaked the option-passing code's delete logic to make it cleaner.
Wayne Davison [Tue, 12 Dec 2006 20:42:06 +0000 (20:42 +0000)]
Cast FILE_STRUCT_LEN & EXTRA_LEN to int for rprintf().
Wayne Davison [Tue, 12 Dec 2006 20:17:05 +0000 (20:17 +0000)]
Use new BITS_EQUAL() define.
Wayne Davison [Tue, 12 Dec 2006 20:17:02 +0000 (20:17 +0000)]
Added BITS_EQUAL() define.
Wayne Davison [Tue, 12 Dec 2006 15:01:57 +0000 (15:01 +0000)]
Removed last reference to "struct hlist".
Wayne Davison [Tue, 12 Dec 2006 14:58:10 +0000 (14:58 +0000)]
Neaten some function formatting.
Wayne Davison [Tue, 12 Dec 2006 14:55:21 +0000 (14:55 +0000)]
Provide alternate F_LENGTH() define for systems with no 64-bit type.
Wayne Davison [Sun, 10 Dec 2006 21:56:37 +0000 (21:56 +0000)]
Mention fix for -vv --stats.
Wayne Davison [Sun, 10 Dec 2006 14:55:44 +0000 (14:55 +0000)]
Added MSG_CLIENT to the acceptable messages the generator can
get from the receiver.
Wayne Davison [Sun, 10 Dec 2006 14:54:08 +0000 (14:54 +0000)]
Added MSG_CLIENT to the msgcode enum.
Wayne Davison [Sat, 9 Dec 2006 17:35:36 +0000 (17:35 +0000)]
A minor format tweak.
Wayne Davison [Sat, 9 Dec 2006 00:24:11 +0000 (00:24 +0000)]
Handle the new output from the hard-link code, including a fix
for a long-standing bug combinding -H with --compare-dest.
Wayne Davison [Sat, 9 Dec 2006 00:24:08 +0000 (00:24 +0000)]
- Added FLAG_HLINK_DONE.
- Added BITS_SET() and BITS_SETnUNSET() defines.
- Got rid of unused HL_* defines.
- Got rid of no-longer-needed struct hlist.
- Changed F_HL_LIST() to F_HL_PREV().
- Added F_NOT_HLINK_FIRST() and F_NOT_HLINK_LAST().
- Got rid of WITH_HLINK and WITHOUT_HLINK.
- Got rid of the hlink_pool in the file list.
Wayne Davison [Sat, 9 Dec 2006 00:24:05 +0000 (00:24 +0000)]
Got rid of the pool-destroy call since this is not around anymore.
Wayne Davison [Sat, 9 Dec 2006 00:24:01 +0000 (00:24 +0000)]
Call the new hard-link init functions.
Wayne Davison [Sat, 9 Dec 2006 00:23:58 +0000 (00:23 +0000)]
- Use the revamped hard-link functions.
- Turned maybe_ATTRS_REPORT var into a global for use by hlink.c.
Wayne Davison [Sat, 9 Dec 2006 00:23:55 +0000 (00:23 +0000)]
- Revamped the hard-link algorithm to save memory.
- Improved the function names.
- Improved a few variable names.
- Got rid of the "is a hard link" message in favor of the normal status
messages for files (e.g. --itemize-changes indicates hard-links).
- Fixed a long-standing bug when combining -H with --compare-dest.
- Made sure that code compiles when hard-linking is not available.
Wayne Davison [Sat, 9 Dec 2006 00:23:51 +0000 (00:23 +0000)]
Changed the hlink_pool variable to be a global since only the main
file list ever has a pool for hard-linking.
Wayne Davison [Fri, 8 Dec 2006 21:02:11 +0000 (21:02 +0000)]
Explicitly cast the length values down to an uint32 so that some
compilers don't complain about the value getting smaller.
Wayne Davison [Fri, 8 Dec 2006 20:58:51 +0000 (20:58 +0000)]
Get rid of some signed/unsigned-comparison compiler warnings.
Wayne Davison [Fri, 8 Dec 2006 20:47:09 +0000 (20:47 +0000)]
Use --delete-delay instead of --delete-after.
Wayne Davison [Fri, 8 Dec 2006 20:42:45 +0000 (20:42 +0000)]
- The --delete-delay code now does its own output buffering. This
allows us to delay opening a temp file to hold the list of deletions
until we overflow the buffer (and thus, it's not usually needed).
- Fall back to doing a --delete-after pass if the --delete-delay
code has a temp-file-writing failure.
Wayne Davison [Fri, 8 Dec 2006 15:10:12 +0000 (15:10 +0000)]
Fixed --delete-delay by making the fprintf() output an unsigned short
for the mode.
Wayne Davison [Thu, 7 Dec 2006 06:22:22 +0000 (06:22 +0000)]
Added missing initialization of new solo_file variable.
Wayne Davison [Thu, 7 Dec 2006 03:31:44 +0000 (03:31 +0000)]
Some minor format tweaks.
Wayne Davison [Thu, 7 Dec 2006 03:31:41 +0000 (03:31 +0000)]
- Use renamed hard-link defines: F_HL_IDEV() and F_HL_LIST().
Wayne Davison [Thu, 7 Dec 2006 03:31:38 +0000 (03:31 +0000)]
- Set "solo_file" bool and use that for improved clarity.
- Use the new device defines: F_RDEV_P(), DEV_MAJOR(), and DEV_MINOR().
Wayne Davison [Thu, 7 Dec 2006 03:31:34 +0000 (03:31 +0000)]
- Use the new device defines: F_RDEV_P(), DEV_MAJOR(), and DEV_MINOR().
- Use renamed F_HL_IDEV() define.
Wayne Davison [Thu, 7 Dec 2006 03:31:31 +0000 (03:31 +0000)]
Use the new device defines: F_RDEV_P(), DEV_MAJOR(), and DEV_MINOR().
Wayne Davison [Thu, 7 Dec 2006 03:31:28 +0000 (03:31 +0000)]
- Added a signed number to the flist_extras union.
- Renamed F_IDEV() to F_HL_IDEV() and F_HLIST() to F_HL_LIST().
- Changed device defines to be: F_RDEV_P(), DEV_MAJOR(), and DEV_MINOR().
Wayne Davison [Thu, 7 Dec 2006 02:37:42 +0000 (02:37 +0000)]
Improved the format of the debug output for mknod().
Wayne Davison [Wed, 6 Dec 2006 17:27:47 +0000 (17:27 +0000)]
Mention waitpid() fix (which helps pre-xfer exec).
Wayne Davison [Wed, 6 Dec 2006 17:21:59 +0000 (17:21 +0000)]
The wait_process() call now handles EINTR.
Wayne Davison [Wed, 6 Dec 2006 16:56:19 +0000 (16:56 +0000)]
If the pre-xfer exec failed with -1, output the strerror()
from the waitpid() call.
Wayne Davison [Wed, 6 Dec 2006 01:32:17 +0000 (01:32 +0000)]
#ifdef calls to hard-link functions.
Wayne Davison [Wed, 6 Dec 2006 01:26:11 +0000 (01:26 +0000)]
- Make some char* pointers const.
- Tweaked a couple variable names.
- Changed the #ifdefs to not define any hard-link functions
when hard-linking is disabled.
Wayne Davison [Wed, 6 Dec 2006 00:55:33 +0000 (00:55 +0000)]
Changed i -> ndx in several variables.
Wayne Davison [Wed, 6 Dec 2006 00:52:34 +0000 (00:52 +0000)]
F_SUM() needed to use HLINK_BUMP().
Wayne Davison [Tue, 5 Dec 2006 17:45:29 +0000 (17:45 +0000)]
Handle the FLAG_LENGTH64 flag in unmake_file().
Wayne Davison [Tue, 5 Dec 2006 15:59:58 +0000 (15:59 +0000)]
Use the latest F_*() accessors.
Wayne Davison [Tue, 5 Dec 2006 15:59:53 +0000 (15:59 +0000)]
Saved 9 more bytes per file in a typical transfer by making the length
32 bits by default, by removing the basename pointer, and by making the
mode value a unsigned short.
Wayne Davison [Tue, 5 Dec 2006 15:59:49 +0000 (15:59 +0000)]
Changed flist_extra_ndx into flist_extra_cnt.
Wayne Davison [Tue, 5 Dec 2006 15:59:46 +0000 (15:59 +0000)]
Tweaked some externs.
Wayne Davison [Mon, 4 Dec 2006 02:07:37 +0000 (02:07 +0000)]
Use new send_msg_int() function.
Wayne Davison [Mon, 4 Dec 2006 02:07:30 +0000 (02:07 +0000)]
Added send_msg_int() function.
Wayne Davison [Sun, 3 Dec 2006 07:58:12 +0000 (07:58 +0000)]
Moved an extern.
Wayne Davison [Sun, 3 Dec 2006 06:44:16 +0000 (06:44 +0000)]
- Typical tranfers now save 12-20 bytes per file because several vars
were moved out of file_struct into an optional member-var setup.
- Renamed and reorganized the FLAG_* defines.
- Use NDX_DONE instead of a literal -1 when sending/checking the
end-of-phase index value.
Wayne Davison [Sat, 2 Dec 2006 16:17:11 +0000 (16:17 +0000)]
Restored write_ndx_and_attrs() and made it public.
Wayne Davison [Sat, 2 Dec 2006 16:16:54 +0000 (16:16 +0000)]
Moved write_ndx_and_attrs() to sender.c and made it public.
Wayne Davison [Sat, 2 Dec 2006 16:13:02 +0000 (16:13 +0000)]
Moved write_ndx_and_attrs() too.
Wayne Davison [Sat, 2 Dec 2006 16:11:33 +0000 (16:11 +0000)]
Added a couple externs.
Wayne Davison [Sat, 2 Dec 2006 16:08:59 +0000 (16:08 +0000)]
Moved read_item_attrs() from sender.c to c since the function
is used by both the sender and the receiver.
Wayne Davison [Fri, 1 Dec 2006 18:29:18 +0000 (18:29 +0000)]
Change the format/order of the capabilities --version outputs.
Wayne Davison [Tue, 28 Nov 2006 19:34:01 +0000 (19:34 +0000)]
Got rid of an incorrect comment.
Wayne Davison [Tue, 28 Nov 2006 19:31:41 +0000 (19:31 +0000)]
Added some more "const" prefixes to some "char *" vars.
Wayne Davison [Fri, 24 Nov 2006 20:21:13 +0000 (20:21 +0000)]
- Use write_shortint() to send the 2 bytes in an extended flag.
- Improved a comment.
Wayne Davison [Fri, 24 Nov 2006 18:35:00 +0000 (18:35 +0000)]
- Added checking of SIZEOF_INT64 to the new code in read_longint().
- Improved the SIZEOF_INT64 checking code in write_longint().
Wayne Davison [Fri, 24 Nov 2006 17:28:57 +0000 (17:28 +0000)]
- Changed {read,write}_shortint() to use unsigned short.
- Added explicit char-casting to new long-int code.
Wayne Davison [Fri, 24 Nov 2006 08:46:21 +0000 (08:46 +0000)]
Document the latest changes.
Wayne Davison [Fri, 24 Nov 2006 08:38:44 +0000 (08:38 +0000)]
- Fixed a bug when sending a negative 64-bit number (which may not
be needed, but it at least works right now).
- Improved the transmission of 32-bit negative numbers on systems
where the 32-bit type is larger than 32 bits.
- Changed the sending of 64-bit numbers for protocol 30: we send
them in MSB-first order with the number of bytes used in the
transmission encoded into the earliest bits. This lets us save
transmitted bytes for both small and large numbers. The new
method sends from 3 to 9 bytes, the old sent either 4 or 12.
Wayne Davison [Fri, 24 Nov 2006 08:22:23 +0000 (08:22 +0000)]
Added some defines for sending variable-sized MSB-first numbers.
Wayne Davison [Thu, 23 Nov 2006 04:16:48 +0000 (04:16 +0000)]
Silenced a compiler warning.
Wayne Davison [Thu, 23 Nov 2006 03:28:58 +0000 (03:28 +0000)]
Fix a unused-variable compiler warning.
Wayne Davison [Wed, 22 Nov 2006 20:52:51 +0000 (20:52 +0000)]
Document the new --delete-delay option.
Wayne Davison [Wed, 22 Nov 2006 20:51:03 +0000 (20:51 +0000)]
- Implement new --delete-delay option.
- Tweaked a variable name in delete_item().