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.

Reply via email to