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>