fusefrontend: Utimens: one more band-aid

Revert once https://github.com/hanwen/go-fuse/pull/131 is merged.
This commit is contained in:
Jakob Unterwurzacher 2016-10-16 20:20:00 +02:00
parent 4866785f4b
commit 891a3b4c8a
2 changed files with 5 additions and 3 deletions

View File

@ -391,9 +391,10 @@ func (f *file) GetAttr(a *fuse.Attr) fuse.Status {
const BrokenAtimeOmit = true
func (f *file) Utimens(a *time.Time, m *time.Time) fuse.Status {
if a == nil && BrokenAtimeOmit {
if BrokenAtimeOmit {
// Band-aid for a nil pointer crash, described in
// https://github.com/rfjakob/gocryptfs/issues/48
// Also band-aid for "mtime gets set to atime".
//
// TODO drop this once https://github.com/hanwen/go-fuse/pull/131 is
// merged

View File

@ -660,7 +660,8 @@ type utimesTestcaseStruct struct {
func compareUtimes(want [2]syscall.Timespec, actual [2]syscall.Timespec) error {
tsNames := []string{"atime", "mtime"}
for i := range want {
if i == 1 {
if fusefrontend.BrokenAtimeOmit && i == 0 {
// Don't check atime. It's broken in go-fuse.
// TODO remove this once the pull request is merged:
// https://github.com/hanwen/go-fuse/pull/131
continue
@ -702,7 +703,7 @@ func doTestUtimesNano(t *testing.T, path string) {
if fusefrontend.BrokenAtimeOmit {
// TODO remove this once the pull request is merged:
// https://github.com/hanwen/go-fuse/pull/131
utimeTestcases = utimeTestcases[:1]
utimeTestcases = utimeTestcases[0:0]
}
for i, tc := range utimeTestcases {
err := syscall.UtimesNano(path, tc.in[:])