checksum-xattr.diff [CVS update: rsync/patches]
wayned at samba.org
Mon Jul 2 17:52:50 GMT 2007
On Mon, Jul 02, 2007 at 10:28:25AM -0700, Wayne Davison wrote:
> It is if you're doing one check to see if a file is being updated (e.g.
> stat() followed by time() to compute "now"). If time rolls over between
> the two calls, you may have just missed that the mtime would now match
> if you did another stat().
I didn't explain that well. The glitch is not if the mtime would now be
1 second later (in which case the checksum would be ignored) but if it
was possible that the read happened, then a write, then "now" rolled
over to the next second.
Changing my assumed function-calling order to be first time() then
stat() would take care of this, since any roll-over in the stat() mtime
would appear to be in the future, and would be seen as being too recent.
More information about the rsync