Cygwin issues: modify-window and hangs

Dave Dykstra dwd at drdykstra.us
Tue Jan 28 15:58:24 EST 2003


Thanks, you saved me some trouble.  I put it in.

- Dave

On Mon, Jan 27, 2003 at 06:52:30PM -0800, jw schultz wrote:
> On Mon, Jan 27, 2003 at 03:57:16PM -0600, Dave Dykstra wrote:
> > On Mon, Jan 27, 2003 at 04:38:09PM -0000, Max Bowsher wrote:
> > > Dave Dykstra wrote:
> > > > This modify-window default of 1 has been causing some trouble on the
> > > > rsync test suite on the Cygwin test machine on build.samba.org.  The
> > > > problem is that some files get created and immediately copied within
> > > > one second, and then the rsync code that implements '-p' checks to
> > > > see if the copied file's time is within one second before deciding
> > > > whether or not to change it. The test machine is presumably using an
> > > > NTFS filesystem so it has one second granuarlity.
> > > 
> > > Yes, noticed this running "make check" last night. However, I also got
> > > random (i.e. re-run the testsuite and get different results) failures of
> > > some other tests. Is this showing up in your test machine?
> > 
> > I did notice strange failure of the "hands" test on the build.samba.org
> > Cygwin test machine.
> > 
> > > > Last night I considered 4 possible solutions:
> > > >     1. Change the test suite to always wait 2 seconds before copying,
> > > > at
> > > > the beginning of the "checkit" function.
> > > >     2. Change the test suite to always pass --modify-window=0 to
> > > > rsync by including it in the $RSYNC variable in testsuite/rsync.fns.
> > > >     3. Change the set_perms() function in rsync.c to check for exact
> > > > time rather than calling cmp_modtime.
> > > >     4. Back out the default of --modify-window=1 on cygwin and go
> > > > back to
> > > > a default of 0.
> > > >
> > > > I implemented solution 1, but I'm not very comfortable with it because
> > > > it slows the tests on all platforms. I'm now leaning toward solution
> > > > 3. Discussion?
> > > 
> > > How about 4? It seems wrong to penalize NTFS for a FAT problem, especially
> > > as NTFS is now the preferred Windows filesystem.
> > > 
> > > Unless someone feels like making a FAT-detection patch, the previous status
> > > quo looks to me like the best option.
> > 
> > 
> > You've talked me into it.
> 
> If you are going to revert cygwin to a --modify-window=0
> default we should have a notice in the bugs section of the
> manpage.
> 
> I've attached a patch that adds this, improves (in my
> opinion) the --modify-window section slightly, removes
> reference to a bug tracking system and updates the version
> the manpage reports current with.
> 
> -- 
> ________________________________________________________________
> 	J.W. Schultz            Pegasystems Technologies
> 	email address:		jw at pegasys.ws
> 
> 		Remember Cernan and Schmitt

> Index: rsync.yo
> ===================================================================
> RCS file: /cvsroot/rsync/rsync.yo,v
> retrieving revision 1.113
> diff -u -b -r1.113 rsync.yo
> --- rsync.yo	27 Jan 2003 03:13:46 -0000	1.113
> +++ rsync.yo	28 Jan 2003 01:56:31 -0000
> @@ -396,8 +396,8 @@
>  the timestamps as being equal if they are within the value of
>  modify_window. This is normally zero, but you may find it useful to
>  set this to a larger value in some situations. In particular, when
> -transferring to/from FAT filesystems which cannot represent times with
> -a 1 second resolution this option is useful.
> +transferring to FAT filesystems which cannot represent times with
> +a 1 second resolution --modify-window=1 is useful.
>  
>  dit(bf(-c, --checksum)) This forces the sender to checksum all files using
>  a 128-bit MD4 checksum before transfer. The checksum is then
> @@ -1110,16 +1110,20 @@
>  
>  times are transferred as unix time_t values
>  
> +When transferring to FAT filesystmes rsync may resync
> +unmodified files.
> +See the comments on the --modify-window option.
> +
>  file permissions, devices etc are transferred as native numerical
>  values
>  
>  see also the comments on the --delete option
>  
> -Please report bugs! The rsync bug tracking system is online at
> -url(http://rsync.samba.org/rsync/)(http://rsync.samba.org/rsync/)
> +Please report bugs! See the website at
> +url(http://rsync.samba.org/)(http://rsync.samba.org/)
>  
>  manpagesection(VERSION)
> -This man page is current for version 2.0 of rsync
> +This man page is current for version 2.5.6 of rsync
>  
>  manpagesection(CREDITS)
>  



More information about the rsync mailing list