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().
Wayne Davison [Wed, 22 Nov 2006 20:49:23 +0000 (20:49 +0000)]
Added parsing for --delete-delay.
Wayne Davison [Wed, 22 Nov 2006 20:48:04 +0000 (20:48 +0000)]
Made get_tmpname() non-static.
Wayne Davison [Wed, 22 Nov 2006 16:34:25 +0000 (16:34 +0000)]
Switch over to testing --remove-source-files, not *-sent-*.
Wayne Davison [Tue, 21 Nov 2006 22:29:33 +0000 (22:29 +0000)]
Don't define NORETURN for older gcc versions.
Wayne Davison [Tue, 21 Nov 2006 19:08:59 +0000 (19:08 +0000)]
Mention latest changes.
Wayne Davison [Tue, 21 Nov 2006 17:46:54 +0000 (17:46 +0000)]
The exclude code wasn't sending the MATCHFLG_NEGATE (!) char to the
other side.
Wayne Davison [Tue, 21 Nov 2006 08:37:28 +0000 (08:37 +0000)]
Don't set an "rc" var that we aren't going to use.
Wayne Davison [Tue, 21 Nov 2006 08:37:06 +0000 (08:37 +0000)]
Avoid a compiler warning about setting "len" without using it.
Wayne Davison [Tue, 21 Nov 2006 08:36:48 +0000 (08:36 +0000)]
Make the file_list stats value an int64.
Wayne Davison [Tue, 21 Nov 2006 08:36:31 +0000 (08:36 +0000)]
- Use an explicit cast when a value gets stored in a smaller var.
- The msgtype var should have been an enum.
Wayne Davison [Tue, 21 Nov 2006 08:36:15 +0000 (08:36 +0000)]
Output the size of the file list using human_num().
Wayne Davison [Tue, 21 Nov 2006 08:36:06 +0000 (08:36 +0000)]
Explicitly cast the tag value in read_msg_fd() to an enum.
Wayne Davison [Tue, 21 Nov 2006 08:35:58 +0000 (08:35 +0000)]
Use an explicit cast when a value gets stored in a smaller var.
Wayne Davison [Tue, 21 Nov 2006 08:35:22 +0000 (08:35 +0000)]
The call to do_chmod() needed to be conditional.
Wayne Davison [Mon, 20 Nov 2006 19:12:35 +0000 (19:12 +0000)]
Fixed a problem with the new iconv const check.
Wayne Davison [Mon, 20 Nov 2006 18:17:48 +0000 (18:17 +0000)]
Use the new ICONV_CONST definition.
Wayne Davison [Mon, 20 Nov 2006 18:17:17 +0000 (18:17 +0000)]
Added a test to figure out if iconv() takes a const char **.
Wayne Davison [Sun, 19 Nov 2006 04:39:35 +0000 (04:39 +0000)]
Moved the options_rejected label to avoid a compiler warning on
some systems.
Wayne Davison [Sun, 19 Nov 2006 04:37:52 +0000 (04:37 +0000)]
Use rwrite() to output the err_msg string.
Wayne Davison [Sun, 19 Nov 2006 00:23:21 +0000 (00:23 +0000)]
Added "const" to appropriate char pointers.
Wayne Davison [Tue, 14 Nov 2006 07:56:05 +0000 (07:56 +0000)]
Some bf(...) tweaks.
Wayne Davison [Tue, 14 Nov 2006 07:55:47 +0000 (07:55 +0000)]
- Use double quotes for a quoted string.
- Some bf(...) tweaks.