On 02/01/11 23:28, Markus Duft wrote: > i don't think it's "only" a bug in the filesystem
Yes, most likely it isn't "just" a bug in the file system. tar has changed the way that it sets file time stamps, in order to avoid certain security holes. It now sets the before closing the file rather than after. Most likely your file system is buggy, and 'close' is mistakenly changing the file's time stamp to the wrong value. We can't simply revert the change in tar, because that would reintroduce the security holes. However, perhaps there is a way to work around the problem on buggy file systems. One possibility is to invoke fsync(fd) just before close(fd). Perhaps you can try that, on your buggy system, to see if that works around the problem. For performance reasons, we'd only want to do fsync on buggy file systems, but the first step is to see whether fsync works around the bug at all.