[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: file --preserve-date aendert die ctime und verstuemmelt die atime


Raphael Eiselstein <rabe@xxxxxxxxx> wrote:

> Kurz gefasst: 
>         --preserve-date soll *eigentlich* die atime erhalten, effektiv 
>         wird die atime ganzzahlig abgerundet *und* die ctime wird auf
>         das aktuelle Datum veraendert. 
> 
> Man mag nun der Meinung sein, dass dieses Verhalten kontraintuitiv ist!

Das ist aber schon so, seit Unix aus dem Urschleim gekrochen ist,
und wohldokumentiert. Man kann mit utime(2) die atime und mtime
aendern, aber das aktualisiert die ctime - macht Sinn, man hat ja
den inode geaendert, und ueberhaupt das Musterbeispiel bei Beschreibungen,
was diese ctime eigentlich ist.

Die Aufloesung der Zeitstempel ist historisch gewachsen. Urspruenglich
war das nur sekundengenau (time_t). Einige Betriebssysteme und
inzwischen auch POSIX haben das dann auf Mikrosekunden (timeval)
und Nanosekunden (timespec) erweitert, was zu einer Vermehrung der
APIs gefuehrt hat. Das alles mit autoconf abzutesten ist umstaendlich,
weshalb file(1) sich auf den groessten gemeinsamen Nenner beschraenkt.
Schick Christos einen Patch...

FreeBSD liefert inzwischen mit stat(2) nanosekundengenaue Zeitstempel,
kann mit utimes(2) aber nur Mikrosekunden setzen - utimensat(2)
fehlt. Ich weiss aus dem Stegreif nicht, was die interne Aufloesung
im VFS ist.

-- 
Christian "naddy" Weisgerber                          naddy@xxxxxxxxxxxx
-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/