Wayne Davison
d62bcc17f3
Changed rprintf() calls that included strerror() to use rsyserr().
2004-05-15 19:31:10 +00:00
Wayne Davison
028fdddb49
Fixed a crash bug when hlink_list is NULL and a link_u.links
...
pointer in one of the file_struct nodes is not.
2004-03-26 16:46:20 +00:00
Wayne Davison
417c99f637
If --backup was specified, the links we remove are backed up.
2004-02-11 05:03:04 +00:00
J.W. Schultz
9935066b70
Make idev, hlink and file_struct + strings use allocation
...
pools.
2004-02-10 03:23:37 +00:00
J.W. Schultz
0d6e308b51
correct sizeof usage.
2004-02-03 06:21:56 +00:00
Wayne Davison
67f3feebcb
Don't free link_u.idev.
2004-02-02 21:32:52 +00:00
Wayne Davison
c6edb381f5
Free the hlink data again.
2004-02-02 07:06:50 +00:00
Wayne Davison
13c5b46361
Don't free the hlink data (it is not separately allocated anymore).
2004-02-02 05:06:35 +00:00
Wayne Davison
904817552d
Fixed a comment.
2004-01-27 07:48:57 +00:00
Wayne Davison
d38fc30563
We now link the hard-linked flist entries into a circular list, mark
...
the last item with FLAG_HLINK_EOL, and save off an index for our
master entry in the hlink_list[] array. Added the hard_link_check()
function.
2004-01-25 22:32:10 +00:00
Wayne Davison
3fef53645d
Use the new f_name_to() calling syntax.
2004-01-22 04:38:18 +00:00
Wayne Davison
1d5cda2265
Updated to perform a much more efficient hlink algorithm that doesn't
...
require any binary searching of hlink data.
2004-01-12 03:49:47 +00:00
Wayne Davison
cb7fb45e42
Updated a questioning comment.
2004-01-11 08:17:19 +00:00
Wayne Davison
92cc9dd7c2
Use the new dev+inode union in the flist_struct.
2004-01-11 07:56:14 +00:00
Wayne Davison
c4b4df4fb4
Optimized the sending of dev+inode data for hard-linking support
...
(but only when speaking protocol 28).
2004-01-08 11:29:50 +00:00
Wayne Davison
6aae748ea7
- No need to check S_ISREG() on files already in the hlink_list.
...
- The realloc in init_hard_links() might fail if the list is empty
(which can happen if there are no regular files in the transfer).
I changed the code to free the list in that case.
2004-01-08 03:17:07 +00:00
J.W. Schultz
11dc274054
Change hlink_list so we only have a list of pointers to
...
file_struct instead of a copy of the file_struct list.
2004-01-07 09:06:37 +00:00
Wayne Davison
310c9f30f0
Optimized hard_link_one() to not call f_name() so many times.
2004-01-02 07:34:49 +00:00
Wayne Davison
58cadc8608
Merged in the security fixes from 2.5.7.
2003-12-06 21:07:27 +00:00
Martin Pool
527a51cec5
Doc
2002-03-25 07:07:03 +00:00
Martin Pool
20c15aead5
Hm, strange off-by-one bug.
2002-03-25 06:59:17 +00:00
Martin Pool
4f2dcb1714
If we discover a hardlink with -vv say what it's a link to.
2002-03-25 06:27:44 +00:00
Martin Pool
fae5bb3183
Doc.
...
do_hard_links() actually only looks at the global hardlink table, so
it can be a (void) fn. (Another gcc warning...)
2002-01-23 07:42:30 +00:00
Martin Pool
6e69cff118
Autoindent
...
Add copyright
2002-01-11 07:11:43 +00:00
David Dykstra
c7c11a0d4c
When a file cannot be deleted because of ETXTBSY (in particular, when an
...
executable is busy on HPUX), rename it instead to .rsyncNNN. Most of
the code was submitted by Ketil Kristiansen <ketil-k@osc.no >
1999-03-11 22:17:42 +00:00
Andrew Tridgell
f578043391
for consistency use memcpy/memset everywhere instead of bcopy/bzero
1998-06-18 09:51:44 +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
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
dd04a03440
fixed a bug in the hlink code - it wasn't taking account of the new
...
pointer list code for flist.
1998-04-05 04:34:52 +00:00
Andrew Tridgell
31e125226d
added wrappers around all the system calls that can change what is on
...
disk. The wrappers check for dry_run.
1998-03-23 13:25:30 +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
3ec4dd9781
a large change to make rsync much more memory efficient. This is done
...
in 3 ways:
1) the realloc is done on a list of pointers, not a list of structures
2) only the basename of the file is now kept in the file struct an a
util function f_name() is now used to access the full name when
required.
3) pointers to directory names are re-used
hopefully I haven't broken anything. This will need lots of testing.
1998-03-23 03:45:02 +00:00
Andrew Tridgell
c778aaa048
*** empty log message ***
1998-01-01 15:53:05 +00:00
Andrew Tridgell
e3cd198f8e
- fixed spelling errors in man page
...
- fixed bug in hard link handling that could lead to spurious hard
links.
- fixed bug in the string handling in flist.c
1997-12-28 22:13:40 +00:00
Andrew Tridgell
82306bf6d6
*** empty log message ***
1997-12-17 11:07:17 +00:00
Andrew Tridgell
9a52223bce
- fixed the "write exception" error. I was resetting got_select at the
...
wrong point
- fixed a seg fault error in flist.c
- only print hlink debug messages when using -v
1997-12-16 08:48:36 +00:00
Andrew Tridgell
527cea662a
- fixed an off by 1 bug in the hard link support
...
- added a note about anonymous cvs access to the source code in the
README
1997-12-15 22:54:23 +00:00
Andrew Tridgell
7b8356d0bc
- detect presence of remsh and use it instead of rsh
...
- handle directory ownership and permissions much better.
- fix bug where links caused the permissions of files to be
set incorrectly
- override the default umask in setting file permissions
- better handling -o and -D being passed to non-root users
- handle rsync to a destination of /
- fix the handling of mismatched file types at either end of the
link. For example, if the destination is a link and the source is not.
1996-10-01 04:12:30 +00:00
Andrew Tridgell
dc5ddbccac
- hard links
...
- better sparse handling
- FERROR and FINFO
1996-06-30 03:57:22 +00:00