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: atime on symlinks


On Oct  8 06:06, Eric Blake wrote:
> I've been trying to use lutimes and utimensat(,AT_SYMLINK_NOFOLLOW) to
> play with symlink timestamps.  mtime can be modified just fine, but atime
> changes are lost the moment you lstat() the symlink again (probably
> because path.cc opens the symlink file during path resolution to read its
> contents and confirm it is a symlink).  POSIX states that readlink()
> changes the atime of a symlink, but not lstat().  Is there a way to make
> path.cc resolution behave as if O_NOATIME were in effect for symlink
> resolution, so that lstat() and path resolution leaves symlink times
> alone, and only an explicit readlink() or lutimes() will adjust atime on
> symlinks?

I'm not aware that Windows supports a file open flag similar to the
O_NOATIME flag.  That would require to store and restore the atime every
time a symlink is read, and we must read the symlink content to fetch the
correct filesize.  Are you still testing on XP?  AFAIK, starting with
Vista, filesystems are by default running in a noatime mount mode anyway.


Corinna

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

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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