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

Reply via email to