You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that 1073741822 == UTIME_OMIT. However, this special value only works for utimens and utimensat that take nanoseconds, not for utimes that only takes microseconds!
*** This is the last issue with the "generic" xfstests ***
Futimes() only takes microsecond resolution while the FUSE call
Utimens() wants nanosecond precision.
This is why UTIME_OMIT did not work - this change fixes issue hanwen#60.
The go library does not provide a FutimesNano() function which is
why I use UtimesNano() on /proc/self/fd/n.
This is what the Go library does in Futimes().
Futimes only takes microsecond resolution while the FUSE call
Utimens wants nanosecond precision. Switch from Futimes to Futimens.
This is why UTIME_OMIT did not work - this change fixes the failure
of xfstests generic/221 (issue hanwen#60).
rfjakob
added a commit
to rfjakob/go-fuse
that referenced
this issue
Oct 11, 2015
Futimes only takes microsecond resolution while the FUSE call
Utimens wants nanosecond precision. Switch from Futimes to futimens.
This is why UTIME_OMIT did not work - this change fixes the failure
of xfstests generic/221 (issue hanwen#60).
xfstests generic/221 runs t_futimens.c, that executes the following syscall:
As you can see, it fails with EINVAL. Stracing the loopback process shows:
Note that 1073741822 == UTIME_OMIT. However, this special value only works for
utimens
andutimensat
that take nanoseconds, not forutimes
that only takes microseconds!*** This is the last issue with the "generic" xfstests ***
Failing tests are now:
Everything else passes or is skipped.
The text was updated successfully, but these errors were encountered: