aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-10-30 16:29:36 +0100
committerJakob Unterwurzacher2016-10-30 16:29:36 +0100
commitc2192cfcade7b6a165f32a1b7471dfb765e86e00 (patch)
tree95df9cc07e2dbc8e7a4d087f3d2d99da784b102b
parent4e95d394cf23978db2baadcf34fac3483f717ebd (diff)
fusefrontend: drop atime workarounds
The fix at https://github.com/hanwen/go-fuse/pull/131 has been merged. Drop the workarounds and re-enable the tests.
-rw-r--r--internal/fusefrontend/file.go15
-rw-r--r--tests/matrix/matrix_test.go10
2 files changed, 2 insertions, 23 deletions
diff --git a/internal/fusefrontend/file.go b/internal/fusefrontend/file.go
index b192b99..de36a45 100644
--- a/internal/fusefrontend/file.go
+++ b/internal/fusefrontend/file.go
@@ -398,22 +398,7 @@ func (f *file) GetAttr(a *fuse.Attr) fuse.Status {
return fuse.OK
}
-// BrokenAtime means that atime support is broken.
-// TODO drop this once https://github.com/hanwen/go-fuse/pull/131 is
-// merged
-const BrokenAtime = true
-
func (f *file) Utimens(a *time.Time, m *time.Time) fuse.Status {
- if BrokenAtime {
- if m == nil {
- tlog.Warn.Printf("refusing to set the atime to prevent a crash in go-fuse")
- return fuse.EINVAL
- }
- // Due to a bug in loopbackFile.Utimens, the "a" value will be used
- // to set both mtime and atime. Because mtime is more important, we
- // override "a".
- a = m
- }
f.fdLock.RLock()
defer f.fdLock.RUnlock()
return f.loopbackFile.Utimens(a, m)
diff --git a/tests/matrix/matrix_test.go b/tests/matrix/matrix_test.go
index 8b80448..1af4a22 100644
--- a/tests/matrix/matrix_test.go
+++ b/tests/matrix/matrix_test.go
@@ -25,7 +25,6 @@ import (
"testing"
"github.com/rfjakob/gocryptfs/internal/cryptocore"
- "github.com/rfjakob/gocryptfs/internal/fusefrontend"
"github.com/rfjakob/gocryptfs/internal/syscallcompat"
"github.com/rfjakob/gocryptfs/tests/test_helpers"
)
@@ -686,18 +685,13 @@ func doTestUtimesNano(t *testing.T, path string) {
},
{
in: [2]syscall.Timespec{{Sec: 7, Nsec: 8}, {Sec: 99, Nsec: _UTIME_OMIT}},
- out: [2]syscall.Timespec{{Sec: 7, Nsec: 8}, {Sec: 5, Nsec: 6}},
+ out: [2]syscall.Timespec{{Sec: 7, Nsec: 8}, {Sec: 3, Nsec: 4}},
},
{
in: [2]syscall.Timespec{{Sec: 99, Nsec: _UTIME_OMIT}, {Sec: 5, Nsec: 6}},
- out: [2]syscall.Timespec{{Sec: 1, Nsec: 2}, {Sec: 5, Nsec: 6}},
+ out: [2]syscall.Timespec{{Sec: 7, Nsec: 8}, {Sec: 5, Nsec: 6}},
},
}
- if fusefrontend.BrokenAtime {
- // TODO remove this once the pull request is merged:
- // https://github.com/hanwen/go-fuse/pull/131
- utimeTestcases = utimeTestcases[:1]
- }
for i, tc := range utimeTestcases {
err := syscall.UtimesNano(path, tc.in[:])
if err != nil {