On a PPC machine running Mac OS X, I noticed that creation time is not preserved for files that are transferred (i.e. versus files that are not transferred, or files that have only attribute changes). I discovered two things that work together to cause this:

1) cmp_time (util.c) doesn't check for negative values provided in file1 or file2. If file2 is positive, and file1 is negative, and absolute_value(file1) > file2, cmp_time returns 0, even though the times are obviously different. Of course, a file's crtime should never be negative, which leads me to #2.

2) set_file_attrs (rsync.c) doesn't initialize sx2.crtime (e.g. when the sxp argument is NULL). This leads to crtime values that are occasionally > 2^31, resulting in negative crtimes.

The attached patch resolves these.

Mike

Attachment: crtimes_ppc.patch
Description: Binary data


-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to