For what it's worth, coreutils 6.12 and newer now use utimensat if available; and when coupled with a new enough kernel, no longer demonstrate the original issue reported against touch(1). However, in testing the coreutils patch to use utimensat, it was discovered that at least some versions of the kernel have a buggy utimensat syscall that return a bogus positive number instead of -1 on failure:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=9840199 -- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]