On 26.06.2010 09:01, Rob Thompson wrote: > > Hello, > > I have a question regarding using the --recursive option when > preserving hard link with -H. How is it, that these two options are > compatible when used together? I would think that RSYNC would need to > see all files/inodes before transferring, to preserve hard links. But > yet it still starts transferring before reading the entire file list.
That's easy. 'stat'ing a file also gives it's inode-number and the link-count (number of directory entries). When you have link-count == 1 there is nothing special to do. When you have a link-count > 1 you can discard the data as soon as you transferred as many files, with the same inode, as the link-count says. Of course the discarding only works as long as all hard-links are inside the directory-subtree you are transfering, otherwise rsync keeps piling up memory, at least i'm pretty sure that rsync works that way. Bis denn -- Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in women. No, the Real Programmer wants a "you asked for it, you got it" text editor -- complicated, cryptic, powerful, unforgiving, dangerous. -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html