Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jan 1995 08:57:02 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, terry@cs.weber.edu
Cc:        crtb@upcoming.dcrt.nih.gov, freebsd-bugs@freebsd.org, freebsd-questions@freebsd.org
Subject:   Re: Why does ls report wrong creation date on symlinks?
Message-ID:  <199501032157.IAA13647@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
> [slowness of find and ls caused by having to update directory access times]
>> I think this problem should be handled by caching the access time stamps
>> or even by storing them outside of inodes.  The timestamps for all
>> directories can be cached in a tiny amount of memory on most systems.
>> (E.g., my 426MB usr partition has only 1932 directories so the access
>> times could be cached in only 8K or 16K.)  This memory could be written
>> to disk very rarely (e.g., only when the fs is unmounted.  POSIX doesn't
>> require timestamps to be preserved if the system panics ;-).

>This is somewhat of a non-sequitor.  Typically "marked for update" is
>a euphamism for blowing the date information in the in core inode, then
>marking the inode as dirty meta-data by setting a vnode flag.

In Minix, reading the current time is very inefficient (it requires
sending a message to another task and waiting for the reply), so
timestamping is implemented by just setting a vnode flag for the
"marking" step and not updating the file times until a close(), stat(),
fstat() or sync().  This method isn't typical but it is exactly what
is described in POSIX 2.3.5.

>...

>Well, I got carried away again... 8-).  Time to move off to the file
>system list?

Yes.  I almost moved it a couple of replies ago.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501032157.IAA13647>