[Bug 12732] New: hard links can cause rsync to block or to silently skip files
samba at hlipp.de
Wed Apr 5 21:25:50 UTC 2017
Am 05.04.2017 um 22:05 schrieb L A Walsh via rsync:
> I ran rsync 3.1.1 for over a year to help generate
> snapshots. I can't say if it copied all the files or not, as
> it was backing up a large "/home" partition, BUT, it never hung.
> It did take 45min to a few hours to do the compare, but it
> was comparing a large amount of data (>750G) w/a snapshot
> (another 750G) to dump diffs to a third, and my /home partion
> has a *very* large number of hard links.
I've been using rsync for many years and it works fine most of the time.
I'm not sure if all of the occasional hangs have the same reason, these
are really hard to track down as they usually occur during large
transfers (e.g. when synchronizing large backup disks). That's why I was
happy that I could find a small test case which triggers this problem.
Does your rsync hang after the sequence of commands described in section
"How to reproduce (2)"?
>> Latest test on openSUSE 42.2 (x86_64) on ext4 + on nfs with
> Ah... I'd suspect nfs...
> Why are you using nfs?
In order to find out if there is a difference when using another file
system type. The most recent tests were on ext4 and on nfs
(independently), older tests were on at least ext3 and xfs. IIRC I only
tested on different OpenSUSE and Debian versions on x86_64 systems, though.
> Just checked my /home partition.
> find shows 9295431 names (of any type), but du shows
> (using du --inodes) shows 4407458 inodes. That means over
> half of the filenames are hard linked. While my home
> partition takes up 60% more space now, even cutting
> those counts in half would still a large number of
> hard links -- and rsync didn't crash doing an
> rsync of the partition to an empty one, but first comparing
> to a previous snapshot (the empty partition ended up
> with differences between the main partition & the snapshot.
Probably using different options? Can this be some sort of Heisenbug,
nobody can reproduce? Do the two sequences of shell commands work for
you as expected? Please note that both rsync commands in the mail
generated by bugzilla are split into two lines (each): Both rsync
commands should read
rsync PARAMS DIRS >> XXX.log 2>&1
More information about the rsync