Bug-report:rsync may hung if time jumps backwards
yhu2
yadi.hu at windriver.com
Sun Nov 16 23:44:25 MST 2014
Hello eveyone!
According to below reproduce steps,you could observe a rsync hang:
1:configure and startup rsync service and
mkdir /root/a
mkdir /root/b
dd if=/dev/zero of=/root/b/1 bs=1M count=1
dd if=/dev/zero of=/root/b/2 bs=1M count=1
dd if=/dev/zero of=/root/b/3 bs=1M count=1
dd if=/dev/zero of=/root/b/4 bs=1M count=1
dd if=/dev/zero of=/root/b/5 bs=1M count=1
2: start testcase
./change-time-loop.sh > /dev/null &
./rsync-loop.sh
After applying this patch ,this issue went away.
--- rsync-2.6.9/BUILD/rsync-2.6.9/util.c 2014-11-11
13:02:11.495609639 +0800
+++ rsync-2.6.9/BUILD/rsync-2.6.9/util.c 2014-11-11
13:01:37.606569696 +0800
@@ -1174,8 +1174,11 @@
* Always returns TRUE. (In the future it might return FALSE if
* interrupted.)
**/
+
int msleep(int t)
{
+
+#if 0
int tdiff = 0;
struct timeval tval, t1, t2;
@@ -1192,7 +1195,8 @@
tdiff = (t2.tv_sec - t1.tv_sec)*1000 +
(t2.tv_usec - t1.tv_usec)/1000;
}
-
+#endif
+ usleep(t*1000);
return True;
}
Is it a correct fix? any comments would be appreciated!!!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: change-time-loop.sh
Type: application/x-sh
Size: 114 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/rsync/attachments/20141117/94f09798/attachment.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rsync-loop.sh
Type: application/x-sh
Size: 125 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/rsync/attachments/20141117/94f09798/attachment-0001.sh>
More information about the rsync
mailing list