Commit Graph

  • a3e18c763a 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 2006-12-16 19:24:14 +00:00
  • 403dbc1377 Build & run mkrounding to make the rounding.h file used by flist.c. Also, clean up the new items. Wayne Davison 2006-12-16 19:24:11 +00:00
  • 5b30412c68 Moved the file_extra union out of the file_struct. Wayne Davison 2006-12-16 19:24:08 +00:00
  • d5833800a8 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 2006-12-16 19:24:05 +00:00
  • 8d3a785fa5 Added mkrounding and rounding.h. Wayne Davison 2006-12-16 19:24:02 +00:00
  • 3a5a7de6c9 Mention hard-link memory savings and byte-transfer savings. Wayne Davison 2006-12-16 07:39:53 +00:00
  • c58c1dc446 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 2006-12-16 07:18:41 +00:00
  • eefe189e1d Changed the test for the 2.6.8 bug to preserve owner and group. Wayne Davison 2006-12-16 02:18:44 +00:00
  • f05c801194 Moved the calls to init_hard_links() into flist.c. Wayne Davison 2006-12-15 22:31:16 +00:00
  • c905bf37f6 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 2006-12-15 22:31:13 +00:00
  • 8cae71ebc3 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 2006-12-15 22:31:10 +00:00
  • 14d776ff0c - 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 2006-12-15 22:31:07 +00:00
  • c7565dad84 Renamed XMIT_HAS_IDEV_DATA to XMIT_HLINKED. Wayne Davison 2006-12-14 22:38:21 +00:00
  • b7cfb9e2c0 Renamed the F_*HLINK* macros to make their purpose clearer. Wayne Davison 2006-12-13 15:36:15 +00:00
  • 0d152437df Tweaked the option-passing code's delete logic to make it cleaner. Wayne Davison 2006-12-13 14:52:59 +00:00
  • 6aef83c97d Cast FILE_STRUCT_LEN & EXTRA_LEN to int for rprintf(). Wayne Davison 2006-12-12 20:42:06 +00:00
  • 225aeca346 Use new BITS_EQUAL() define. Wayne Davison 2006-12-12 20:17:05 +00:00
  • 0a62f5f382 Added BITS_EQUAL() define. Wayne Davison 2006-12-12 20:17:02 +00:00
  • 234844915e Removed last reference to "struct hlist". Wayne Davison 2006-12-12 15:01:57 +00:00
  • 263d3bfb40 Neaten some function formatting. Wayne Davison 2006-12-12 14:58:10 +00:00
  • bf466c0f82 Provide alternate F_LENGTH() define for systems with no 64-bit type. Wayne Davison 2006-12-12 14:55:21 +00:00
  • 8b58407586 Mention fix for -vv --stats. Wayne Davison 2006-12-10 21:56:37 +00:00
  • 64119c792d Added MSG_CLIENT to the acceptable messages the generator can get from the receiver. Wayne Davison 2006-12-10 14:55:44 +00:00
  • 8388e011ae Added MSG_CLIENT to the msgcode enum. Wayne Davison 2006-12-10 14:54:08 +00:00
  • 0fddbd8a09 A minor format tweak. Wayne Davison 2006-12-09 17:35:36 +00:00
  • badb8c24b9 Handle the new output from the hard-link code, including a fix for a long-standing bug combinding -H with --compare-dest. Wayne Davison 2006-12-09 00:24:11 +00:00
  • bfd3137246 - 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 2006-12-09 00:24:08 +00:00
  • 6de0d06259 Got rid of the pool-destroy call since this is not around anymore. Wayne Davison 2006-12-09 00:24:05 +00:00
  • 89d730a098 Call the new hard-link init functions. Wayne Davison 2006-12-09 00:24:01 +00:00
  • 18979194cf - Use the revamped hard-link functions. - Turned maybe_ATTRS_REPORT var into a global for use by hlink.c. Wayne Davison 2006-12-09 00:23:58 +00:00
  • aadc84d359 - 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 2006-12-09 00:23:55 +00:00
  • 9d155ecd12 Changed the hlink_pool variable to be a global since only the main file list ever has a pool for hard-linking. Wayne Davison 2006-12-09 00:23:51 +00:00
  • 60af946576 Explicitly cast the length values down to an uint32 so that some compilers don't complain about the value getting smaller. Wayne Davison 2006-12-08 21:02:11 +00:00
  • ca0e8296bc Get rid of some signed/unsigned-comparison compiler warnings. Wayne Davison 2006-12-08 20:58:51 +00:00
  • c4a28da3ad Use --delete-delay instead of --delete-after. Wayne Davison 2006-12-08 20:47:09 +00:00
  • 20319fd9ed - 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 2006-12-08 20:42:45 +00:00
  • 01d29d7b02 Fixed --delete-delay by making the fprintf() output an unsigned short for the mode. Wayne Davison 2006-12-08 15:10:12 +00:00
  • 1183260426 Added missing initialization of new solo_file variable. Wayne Davison 2006-12-07 06:22:22 +00:00
  • 07613def0a Some minor format tweaks. Wayne Davison 2006-12-07 03:31:44 +00:00
  • c2a608d9f1 - Use renamed hard-link defines: F_HL_IDEV() and F_HL_LIST(). Wayne Davison 2006-12-07 03:31:41 +00:00
  • 49b86442ff - 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 2006-12-07 03:31:38 +00:00
  • 4785cd43d1 - Use the new device defines: F_RDEV_P(), DEV_MAJOR(), and DEV_MINOR(). - Use renamed F_HL_IDEV() define. Wayne Davison 2006-12-07 03:31:34 +00:00
  • e238c9977d Use the new device defines: F_RDEV_P(), DEV_MAJOR(), and DEV_MINOR(). Wayne Davison 2006-12-07 03:31:31 +00:00
  • b37b7c9949 - 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 2006-12-07 03:31:28 +00:00
  • f7d7fb381d Improved the format of the debug output for mknod(). Wayne Davison 2006-12-07 02:37:42 +00:00
  • 3481bdf493 Mention waitpid() fix (which helps pre-xfer exec). Wayne Davison 2006-12-06 17:27:47 +00:00
  • d365e22967 The wait_process() call now handles EINTR. Wayne Davison 2006-12-06 17:21:59 +00:00
  • d02363609a If the pre-xfer exec failed with -1, output the strerror() from the waitpid() call. Wayne Davison 2006-12-06 16:56:19 +00:00
  • 1e1ca25343 #ifdef calls to hard-link functions. Wayne Davison 2006-12-06 01:32:17 +00:00
  • a2ebbffca7 - 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 2006-12-06 01:26:11 +00:00
  • 0395130c06 Changed i -> ndx in several variables. Wayne Davison 2006-12-06 00:55:33 +00:00
  • b8c167e804 F_SUM() needed to use HLINK_BUMP(). Wayne Davison 2006-12-06 00:52:34 +00:00
  • 17026f2741 Handle the FLAG_LENGTH64 flag in unmake_file(). Wayne Davison 2006-12-05 17:45:29 +00:00
  • 112d728f48 Use the latest F_*() accessors. Wayne Davison 2006-12-05 15:59:58 +00:00
  • 96293cf991 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 2006-12-05 15:59:53 +00:00
  • f0fbf1d670 Changed flist_extra_ndx into flist_extra_cnt. Wayne Davison 2006-12-05 15:59:49 +00:00
  • 7a821d518b Tweaked some externs. Wayne Davison 2006-12-05 15:59:46 +00:00
  • 663b2857eb Use new send_msg_int() function. Wayne Davison 2006-12-04 02:07:37 +00:00
  • 155d9206a4 Added send_msg_int() function. Wayne Davison 2006-12-04 02:07:30 +00:00
  • 6b2a3d5de6 Moved an extern. Wayne Davison 2006-12-03 07:58:12 +00:00
  • 82ad07c418 - 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 2006-12-03 06:44:16 +00:00
  • d144e43bb3 Restored write_ndx_and_attrs() and made it public. Wayne Davison 2006-12-02 16:17:11 +00:00
  • d2aee174e6 Moved write_ndx_and_attrs() to sender.c and made it public. Wayne Davison 2006-12-02 16:16:54 +00:00
  • 20f0d0f9b9 Moved write_ndx_and_attrs() too. Wayne Davison 2006-12-02 16:13:02 +00:00
  • b675ba6f79 Added a couple externs. Wayne Davison 2006-12-02 16:11:33 +00:00
  • d1c178dd53 Moved read_item_attrs() from sender.c to rsync.c since the function is used by both the sender and the receiver. Wayne Davison 2006-12-02 16:08:59 +00:00
  • d619ff1376 Change the format/order of the capabilities --version outputs. Wayne Davison 2006-12-01 18:29:18 +00:00
  • db0f7613e1 Got rid of an incorrect comment. Wayne Davison 2006-11-28 19:34:01 +00:00
  • 45d8bfe09e Added some more "const" prefixes to some "char *" vars. Wayne Davison 2006-11-28 19:31:41 +00:00
  • d521e1c2a1 - Use write_shortint() to send the 2 bytes in an extended flag. - Improved a comment. Wayne Davison 2006-11-24 20:21:13 +00:00
  • 4ea4acf17b - Added checking of SIZEOF_INT64 to the new code in read_longint(). - Improved the SIZEOF_INT64 checking code in write_longint(). Wayne Davison 2006-11-24 18:35:00 +00:00
  • 3a993aa4bf - Changed {read,write}_shortint() to use unsigned short. - Added explicit char-casting to new long-int code. Wayne Davison 2006-11-24 17:28:57 +00:00
  • c7871d9892 Document the latest changes. Wayne Davison 2006-11-24 08:46:21 +00:00
  • 482f48cca9 - 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 2006-11-24 08:38:44 +00:00
  • 36e6594dce Added some defines for sending variable-sized MSB-first numbers. Wayne Davison 2006-11-24 08:22:23 +00:00
  • e17883827b Silenced a compiler warning. Wayne Davison 2006-11-23 04:16:48 +00:00
  • 37a4386d2c Fix a unused-variable compiler warning. Wayne Davison 2006-11-23 03:28:58 +00:00
  • fd0a130c14 Document the new --delete-delay option. Wayne Davison 2006-11-22 20:52:51 +00:00
  • 5e77efaf41 - Implement new --delete-delay option. - Tweaked a variable name in delete_item(). Wayne Davison 2006-11-22 20:51:03 +00:00
  • b0cacef14b Added parsing for --delete-delay. Wayne Davison 2006-11-22 20:49:23 +00:00
  • b20830b338 Made get_tmpname() non-static. Wayne Davison 2006-11-22 20:48:04 +00:00
  • c63625d41a Switch over to testing --remove-source-files, not *-sent-*. Wayne Davison 2006-11-22 16:34:25 +00:00
  • 7de7b49f6c Don't define NORETURN for older gcc versions. Wayne Davison 2006-11-21 22:29:33 +00:00
  • d0d0e41fd2 Mention latest changes. Wayne Davison 2006-11-21 19:08:59 +00:00
  • 2a28dd32fd The exclude code wasn't sending the MATCHFLG_NEGATE (!) char to the other side. Wayne Davison 2006-11-21 17:46:54 +00:00
  • 65e83e097c Don't set an "rc" var that we aren't going to use. Wayne Davison 2006-11-21 08:37:28 +00:00
  • 4f37559232 Avoid a compiler warning about setting "len" without using it. Wayne Davison 2006-11-21 08:37:06 +00:00
  • 604dbf6d94 Make the file_list stats value an int64. Wayne Davison 2006-11-21 08:36:48 +00:00
  • 53593085cf - Use an explicit cast when a value gets stored in a smaller var. - The msgtype var should have been an enum. Wayne Davison 2006-11-21 08:36:31 +00:00
  • eb0144d79b Output the size of the file list using human_num(). Wayne Davison 2006-11-21 08:36:15 +00:00
  • 54b0dfa0f7 Explicitly cast the tag value in read_msg_fd() to an enum. Wayne Davison 2006-11-21 08:36:06 +00:00
  • 264042760b Use an explicit cast when a value gets stored in a smaller var. Wayne Davison 2006-11-21 08:35:58 +00:00
  • 1e999f9f1b The call to do_chmod() needed to be conditional. Wayne Davison 2006-11-21 08:35:22 +00:00
  • f9b66bc464 Fixed a problem with the new iconv const check. Wayne Davison 2006-11-20 19:12:35 +00:00
  • 60d465dbdd Use the new ICONV_CONST definition. Wayne Davison 2006-11-20 18:17:48 +00:00
  • 3ebdd3c7fc Added a test to figure out if iconv() takes a const char **. Wayne Davison 2006-11-20 18:17:17 +00:00
  • f0fa8c6df2 Moved the options_rejected label to avoid a compiler warning on some systems. Wayne Davison 2006-11-19 04:39:35 +00:00
  • 9d33e6f7cf Use rwrite() to output the err_msg string. Wayne Davison 2006-11-19 04:37:52 +00:00
  • 4a19c3b254 Added "const" to appropriate char pointers. Wayne Davison 2006-11-19 00:23:21 +00:00
  • 4743f0f41b Some bf(...) tweaks. Wayne Davison 2006-11-14 07:56:05 +00:00