Initial commit
Proof-of-concept implementation. Bugs will occur.
This commit is contained in:
32
vendor/github.com/hanwen/go-fuse/v2/fs/files_darwin.go
generated
vendored
Normal file
32
vendor/github.com/hanwen/go-fuse/v2/fs/files_darwin.go
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// Copyright 2019 the Go-FUSE Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package fs
|
||||
|
||||
import (
|
||||
"context"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/hanwen/go-fuse/v2/fuse"
|
||||
"github.com/hanwen/go-fuse/v2/internal/utimens"
|
||||
)
|
||||
|
||||
func setBlocks(out *fuse.Attr) {
|
||||
}
|
||||
|
||||
// MacOS before High Sierra lacks utimensat() and UTIME_OMIT.
|
||||
// We emulate using utimes() and extra Getattr() calls.
|
||||
func (f *loopbackFile) utimens(a *time.Time, m *time.Time) syscall.Errno {
|
||||
var attr fuse.AttrOut
|
||||
if a == nil || m == nil {
|
||||
errno := f.Getattr(context.Background(), &attr)
|
||||
if errno != 0 {
|
||||
return errno
|
||||
}
|
||||
}
|
||||
tv := utimens.Fill(a, m, &attr.Attr)
|
||||
err := syscall.Futimes(int(f.fd), tv)
|
||||
return ToErrno(err)
|
||||
}
|
||||
Reference in New Issue
Block a user