This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: untarring symlinks with ../ fails randomly

On Apr 26 11:22, Christopher Faylor wrote:
> On Tue, Apr 26, 2011 at 03:08:52PM +0000, Dan Grayson wrote:
> >(Re-posting yet again, didn't get through yesterday or today (?), this time
> >from a different account.)
> >
> >
> >Corinna,
> >
> >Debugging with gdb shows that "tar" is prepared for the possibility that
> >symbolic links don't work and that hard links will have to be used instead.
> >So, when it encounters a symbolic link, it creates a zero-length file with mode
> >0 as a placeholder, and it records the inode number of the new file.  That way
> >it can wait until all the regular files have been created, and then replace the
> >placeholder by a symbolic link, or if that doesn't work, by a hard link to the
> >existing file.  However, a tar file can contain multiple entries corresponding
> >to the same file name or path, so it may happen that the placeholder is no
> >longer present at the end, having been replaced by another file.  Hence, it
> >will only replace the placeholder if the inode number and the creation time are
> >unchanged.  But, under cygwin, the creation time may change gratuitously after
> >the creation of the file, at random!
> Cygwin doesn't change the creation time gratuitously.  Sounds like BLODA to me.

Btw., POSIX st_ctime is not "creation time" but "change time".  It's the
timestamp of the last change to the file's metadata (inode content on
filesystems like ext2/3/4).
The "change time"  was always available in file info calls in the
native NT API, and it's available in the Win32 API since Windows Vista

Unfortunately Microsoft doesn't provide documentation on the resolution
of the "change time", only of the other timestamps, see

If you're looking for the creation time, it's in st_birthtime.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]