-
-Tells @command{tar} to preserve the access time field in a file's inode when
-reading it. Due to limitations in the @code{utimes} system call, the
-modification time field is also preserved, which may cause problems if
-the file is simultaneously being modified by another program.
-This option is incompatible with incremental backups, because
-preserving the access time involves updating the last-changed time.
-Also, this option does not work on files that you do not own,
-unless you're root.
-@FIXME-xref{}
+@itemx --atime-preserve=replace
+@itemx --atime-preserve=system
+
+Attempt to preserve the access time of files when reading them. This
+option currently is effective only on files that you own, unless you
+have superuser privileges.
+
+Though this option should work on recent Linux kernel versions, it is
+not reliable on other platforms. To preserve the access time reliably
+on those platforms, you can mount the file system read-only, or access
+the file system via a read-only loopback mount, or use the
+@samp{noatime} mount option available on some systems. However,
+mounting typically requires superuser privileges and can be a pain to
+manage, so the @option{--atime-preserve} option can be useful despite
+its glitches on other platforms.
+
+@value{op-atime-preserve-replace} remembers the access time of a file
+before reading it, and then restores the access time afterwards. This
+may cause problems if other programs are reading the file at the same
+time, as the times of their accesses will be lost. On most platforms
+restoring the access time also requires @command{tar} to restore the
+data modification time too, so this option may also cause problems if
+other programs are writing the file at the same time. (Tar attempts
+to detect this situation, but cannot do so reliably due to race
+conditions.) Worse, on most platforms restoring the access time also
+updates the status change time, which means that this option is
+incompatible with incremental backups.
+
+@value{op-atime-preserve-system} avoids changing time stamps on files
+other than directories, without interfering with time stamp updates
+caused by other programs, so it works better with incremental backups.
+However, it requires a special @code{O_NOATIME} option from the
+underlying operating and file system implementation, and it requires
+that searching directories does not update their access times. As of
+this writing (November 2005) this works only in a few new Linux
+kernels. Worse, there is currently no reliable way to know whether
+the features actually work. Sometimes @command{tar} knows for sure
+that the features are not working, so it will complain and exit right
+away if you try to use @value{op-atime-preserve-system}; but other
+times @command{tar} might think that the option is supported when it
+is not actually working.
+
+Currently @option{--atime-preserve} with no operand defaults to
+@value{op-atime-preserve-replace}, but this may change in the future
+as support for @value{op-atime-preserve-system} improves.