Commit 0457832f3edc43cfec9edbc14aef7e4e3dee9c83

Eric Blake 2009-11-24T10:07:57

utimens: work around older Linux failure with symlinks Some Linux kernel versions support utimensat(,0) but not utimensat(,AT_SYMLINK_NOFOLLOW), even for non-symlinks. Had the fallback code for regular files been reached, it would have truncated timestamps. But since glibc lutimes just wraps utimensat, and we didn't expect ENOSYS from lutimes, the fallback wasn't even reached. * lib/utimens.c (lutimensat_works_really): New variable. (fdutimens, lutimens): Use it to manage kernels that support nanosecond times on files, but not on symlinks. Reported by Ondřej Vašík. Signed-off-by: Eric Blake <ebb9@byu.net>