use_safe_inc_flist not set for 3.1.0 client -> 3.0.9 daemon
Per Lundqvist
perlundq at gmail.com
Sun Oct 20 21:00:31 MDT 2013
Hi,
When using the latest rsync 3.1.0 client, connecting to a pre 3.1.0
(i.e. 3.0.9 and earlier, protocol version 30) server running in daemon
mode and requesting
a recursive (incremental by default) file transfer, the variable
use_safe_inc_flist is not set (affecting how I/O errors are handled
during file list generation).
so it is set for:
3.0.9 client -> 3.0.9 daemon
3.0.9 client -> 3.1.0 daemon
3.1.0 client -> 3.1.0 daemon
but not for:
3.1.0 client -> 3.0.9 daemon
In server_options() in options.c, the client does not automatically send 'f'
anymore. Unless this has been specifically disabled (?), here's a
patch to enable safe incremental file lists between a 3.1.0 client and
a pre 3.1.0 daemon (protocol version 30)
--- options.c.ORIG 2013-06-12 06:28:45.000000000 +1000
+++ options.c 2013-10-21 12:46:25.251082555 +1100
@@ -2477,6 +2477,8 @@
#ifdef ICONV_OPTION
argstr[x++] = 's';
#endif
+ if (protocol_version == 30)
+ argstr[x++] = 'f';
}
if (x >= (int)sizeof argstr) { /* Not possible... */
thanks,
/Per Lundqvist
More information about the rsync
mailing list