samba-bugs@samba.org
2005-Apr-24 17:41 UTC
[Bug 2645] New: --one-file-system semantics changed with 2.6.4 (bug?)
https://bugzilla.samba.org/show_bug.cgi?id=2645 Summary: --one-file-system semantics changed with 2.6.4 (bug?) Product: rsync Version: 2.6.4 Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: P3 Component: core AssignedTo: wayned@samba.org ReportedBy: dalgoda@ix.netcom.com QAContact: rsync-qa@samba.org With 2.6.4, the semantics for -x have changed, and are actually quite bizarre now. I think it's a bug, but I'm not certain. Take the following scenario: thune:/usr/src/rsync/rsync-2.6.4# mount | grep -w -e a -e b /dev/ram1 on /a type ext2 (rw) /dev/ram2 on /a/b type ext2 (rw) thune:/usr/src/rsync/rsync-2.6.4# find /a -type f /a/b/e/g /a/b/e/h /a/b/f/i /a/b/f/j /a/c /a/d thune:/usr/src/rsync/rsync-2.6.4# find /a -type d /a /a/lost+found /a/b /a/b/lost+found /a/b/e /a/b/f Now, with 2.6.3, I get this: thune:/usr/src/rsync/rsync-2.6.3# ./rsync -a -n -e ssh --delete -x --rsync-path=`pwd`/rsync /a thune:/ building file list ... done sent 114 bytes received 20 bytes 17.87 bytes/sec total size is 58 speedup is 0.43 That is, a no-op. To be expected since I'm rsycning to the same machine. With 2.6.4, I get this: thune:/usr/src/rsync/rsync-2.6.4# ./rsync -a -n -e ssh --delete -x --rsync-path=`pwd`/rsync /a thune:/ building file list ... done deleting a/b/lost+found/ deleting a/b/f/j deleting a/b/f/i deleting a/b/f/ deleting a/b/e/h deleting a/b/e/g deleting a/b/e/ That is, someone is following all the files under /a/b and trying to delete them from destination, but of course, we see that /a/b is a different filesystem. It definitely seems to be in the server code, as using 2.6.3 client and 2.6.4 server invokes the problem, but vice-versa does not. What's really strange it is stops 2 directories deep. That is, if I create some deeper entries: thune:/usr/src/rsync/rsync-2.6.4# mkdir /a/b/e/k thune:/usr/src/rsync/rsync-2.6.4# touch /a/b/e/k/{l,m} thune:/usr/src/rsync/rsync-2.6.4# ./rsync -v -v -a -n -e ssh --delete -x --rsync-path=`pwd`/rsync /a thune:/ opening connection using ssh thune /usr/src/rsync/rsync-2.6.4/rsync --server -vvnlogDtprx --delete . / building file list ... done deleting in a deleting a/b/lost+found/ deleting a/b/f/j deleting a/b/f/i deleting a/b/f/ deleting a/b/e/h deleting a/b/e/g deleting a/b/e/ delta-transmission enabled It doesn't go down that deep! Actually, if you look at 2.6.4pre1, it does: thune:/usr/src/rsync/rsync-2.6.4pre1# ./rsync -a -n -e ssh --delete -x --rsync-path=`pwd`/rsync /a thune:/ building file list ... done deleting a/b/lost+found/ deleting a/b/f/j deleting a/b/f/i deleting a/b/f/ deleting a/b/e/k/m deleting a/b/e/k/l deleting a/b/e/k/ deleting a/b/e/h deleting a/b/e/g deleting a/b/e/ sent 114 bytes received 20 bytes 17.87 bytes/sec total size is 58 speedup is 0.43 But starting with pre2 it doesn't: thune:/usr/src/rsync/rsync-2.6.4pre2# ./rsync -a -n -e ssh --delete -x --rsync-path=`pwd`/rsync /a thune:/ building file list ... done deleting a/b/lost+found/ deleting a/b/f/j deleting a/b/f/i deleting a/b/f/ deleting a/b/e/h deleting a/b/e/g deleting a/b/e/ sent 114 bytes received 20 bytes 17.87 bytes/sec total size is 58 speedup is 0.43 I'll try to look at the code later today, but no guaratees I'll get a chance to. -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.