Commit Graph

51 Commits

Author SHA1 Message Date
Martin Pool
e35080cede long int and signedness fix from Nelson Beebe 2002-04-09 06:11:06 +00:00
Martin Pool
538ba24fd7 Doc match_sums. 2002-04-08 08:33:13 +00:00
Martin Pool
f5f95a38c4 Document the perversely-named matched() function, which is called even
if we have not matched!
2002-04-08 08:23:50 +00:00
Andrew Tridgell
0e9480317d the signed/unsigned change seems to have caused a logic bug on some
systems (only those without large file support perhaps?)

this fixes it
2002-02-03 01:38:39 +00:00
Martin Pool
a261989cda More signedness fixes; should be harmless. 2002-01-25 23:07:33 +00:00
Martin Pool
6902ed178b Merge across rsync+ patch; add a little documentation to the manpage. More documentation would be better. 2001-08-14 02:04:47 +00:00
Andrew Tridgell
5e12ce1186 fix segv bug in --progress handling 2000-01-25 13:16:42 +00:00
Andrew Tridgell
166aa72332 patch from David Murn to make sure the final 100% is always printed
when using --progress
2000-01-25 06:39:33 +00:00
Andrew Tridgell
5f808dfbd7 fix a problem with files > 2GB
(thanks to T.J.Adye@rl.ac.uk)
2000-01-23 12:30:34 +00:00
Andrew Tridgell
536541d52b moved the block length mismatch code to another part of the loop. 1999-01-05 06:43:59 +00:00
Andrew Tridgell
496d9272c1 don't try to match checksums of two blocks which are of unequal
size. This explains the high false_alarms rate that I saw for one of
the sample data files used in my thesis.

The bug was harmless as the strong checksum easily caught all the
false matches but it's been bugging me as I couldn't explain it :)
1999-01-05 06:31:58 +00:00
Andrew Tridgell
34d3eed462 fixed a bug in the adjacent target optimisation 1999-01-05 01:57:13 +00:00
Andrew Tridgell
923fa97808 an optimization that tries to make rsync choose adjacent matches if
multiple matching blocks are available. This make the run-length
coding of the output more efficient.
1999-01-05 01:15:32 +00:00
Andrew Tridgell
4440b8aa3f no longer use mmap() in rsync because of the risk of a SIGBUS when
another program (such as a mailer) truncates a file.

To offset the speed loss I have rewritten the map_ptr() code to make
much better use of read().
1998-12-30 14:48:45 +00:00
Andrew Tridgell
1309d90dde fixed a bug handling files larger than 2GB 1998-11-16 03:53:43 +00:00
Andrew Tridgell
b536f47e3c - don't show "created directory" message unless verbose is selected
- check for null buf in show_progress
1998-07-02 02:08:55 +00:00
Andrew Tridgell
eb86d661d7 added --progress option which shows the progress of transfers. This
gives bored users something to watch.
1998-07-02 00:47:13 +00:00
Andrew Tridgell
100e5241b0 the tag table should be of type int* not tag*.
This bug resulted in rsync being much less efficient that it could be
for files with more than 64k blocks. With the adaptive block size code
giving a maximum block size of 16k this means that files larger than
1GB were handled very inefficiently. The transfer was still accurate,
just slow.
1998-06-03 02:47:52 +00:00
Andrew Tridgell
a800434a82 added --stats option for verbose stats on the file transfer 1998-06-01 03:42:14 +00:00
Andrew Tridgell
4c36ddbeec heaps of cleanup in the io code.
we no longer use non-blocking IO, instead it uses select a lot more,
being careful to always allow for reading whenever a valid read fd is
available and chcking timeouts.

also split the file io calls into fileio.c
1998-05-27 12:37:22 +00:00
Andrew Tridgell
f900f5fe71 removing an unused variable 1998-05-22 12:06:25 +00:00
Paul Mackerras
5914bf15d2 Update to use the new zlib-1.1.2 code.
The compressed token code now handles the null (-2)
token from the match logic.
1998-05-22 06:58:52 +00:00
Andrew Tridgell
45f133b976 this fixes two problems:
1) handle 64 bit file offsets in the token code. I wonder how large
bit files worked up till now?

2) send a null token when we have passed over a large lump of data
without finding a token match. This reduces the number of IOs
considerably as it removes the need for seeks/reads on the checksum
calculation and literal send code. This is not enabled yet for the
compressed case as the deflate token code can't handle it yet.
1998-05-22 01:53:02 +00:00
Andrew Tridgell
9486289ce4 some large systematic changes to make socket conversion easier. The
biggest one is the use of rprintf() instead of fprintf()
1998-05-07 14:50:22 +00:00
Andrew Tridgell
debb45054a Solaris 2.6 doesn't support "signed char". What a broken system! 1998-05-06 06:21:35 +00:00
Andrew Tridgell
bcacc18bdf added support for 64 bit file offsets under Solaris 2.6. Not tested
yet.
1998-05-06 05:43:36 +00:00
Andrew Tridgell
a16bbc3990 a few code cleanups 1998-04-13 07:26:37 +00:00
Andrew Tridgell
6ba9279fb2 - added an internal io_error flag. Whenever an io error occurs (such
as not being able to open a directory) this flag is set and propogated
to the other end. When this flag is set the --delete code is
disabled. This prevents the problem that io or permission errors could
cause files to be incorrectly deleted on the destination.

- added a --timeout option. This allows you to set an IO timeout in
seconds. If no io occurs in that time then rsync exits with a timeout
error.

- changed some FERROR fds to FINFO
1998-03-26 04:18:47 +00:00
Andrew Tridgell
71c4617611 - on systems (such as intel linux) where off_t is 32 bits but "long long"
is 64 bits use long long to get the totals right when transferring
  more than 2^32 bytes of data.

- use inline on flist_up if the compiler supports it
1998-03-25 11:08:32 +00:00
Andrew Tridgell
0d0e2e93e8 test for "long long" and %lld in configure. 1998-03-23 14:46:03 +00:00
Andrew Tridgell
3a6a366fc5 finished 64 bit file offset support. Hopefully rsync can now transfer
files up to 2^64 bytes in size. Now I just need to find enough disk
space to test this :-)

The 64 bit offset code only works if off_t is 64 bits (or bigger!) on
both ends of the link. If one end tries to send a file greater than
2^31 in size and the other end doesn't support it then rsync will
abort.

This commit also cleans up some static declarations so they are in a
unitinitialised segment to save load time.
1998-03-23 12:52:57 +00:00
Andrew Tridgell
0b91056090 started to add some 64 bit file offset support - not complete yet 1998-03-23 08:49:48 +00:00
Andrew Tridgell
e7ebc36c70 if the file changes during transfer then don't loop forever trying to
update it
1998-03-23 07:11:51 +00:00
rsync-bugs
58da1efac1 minor cleanups (unused variables etc) 1997-12-15 19:11:24 +00:00
Andrew Tridgell
0aeee8c1c8 damn, I had implicitly assumed signed characters when writing the
rolling checksum code. The result is that rsync worked much more
slowly when going between two machines where one of the machines uses
signed and the other unsigned chars. The rolling checksum rarely
matched so effectively a copy was done in many cases. The data always
came through correctly so no file corruption occurred but it's pretty
pointless using rsync if it doesn't speed things up!
I've now made the sign of the chars explicit
1997-12-15 12:37:40 +00:00
Andrew Tridgell
fe4d86e446 fix serious corruption bug 1996-07-12 14:36:03 +00:00
Andrew Tridgell
94a3ac55f6 *** empty log message *** 1996-07-04 13:56:53 +00:00
Andrew Tridgell
1b01b295c9 added CHAR_OFFSET 1996-07-04 13:08:07 +00:00
Andrew Tridgell
ebb0a6f618 *** empty log message *** 1996-07-04 10:16:56 +00:00
Andrew Tridgell
9e31c4824c added resend logic
added checksum on all files
1996-07-02 03:19:58 +00:00
Andrew Tridgell
c6e7fcb42b *** empty log message *** 1996-07-01 23:27:19 +00:00
Andrew Tridgell
70d794dce9 added hooks for compression in token.c 1996-07-01 05:55:05 +00:00
Andrew Tridgell
dc5ddbccac - hard links
- better sparse handling
- FERROR and FINFO
1996-06-30 03:57:22 +00:00
Andrew Tridgell
d5ee1f8e7a *** empty log message *** 1996-06-28 15:24:39 +00:00
Andrew Tridgell
41ba6938a4 *** empty log message *** 1996-06-28 14:43:49 +00:00
Andrew Tridgell
34ccb63e71 new exit/cleanup code 1996-06-28 13:55:41 +00:00
Andrew Tridgell
43a481dc55 added csum-length option 1996-06-27 05:16:15 +00:00
Andrew Tridgell
d9bea2ddd4 added support for non-mmap operation 1996-06-26 15:57:54 +00:00
Andrew Tridgell
720b47f261 went to full non-blocking writes for the send_files() process 1996-06-26 01:35:13 +00:00
Andrew Tridgell
94481d9113 added "created dir" message
added read buffer
1996-06-25 07:32:03 +00:00