finish basic fs commands, stub out file on server side

This commit is contained in:
Barak Michener 2018-03-31 15:11:02 -07:00
parent 8a91fdcb4e
commit a4f53875bc
5 changed files with 294 additions and 19 deletions

70
fs_file.go Normal file
View file

@ -0,0 +1,70 @@
package kubelwagen
import (
"time"
"github.com/hanwen/go-fuse/fuse"
"github.com/hanwen/go-fuse/fuse/nodefs"
)
type WsFsFile struct {
nodefs.File
h int
fs *WsFs
}
func newWsFsFile(handle int, fs *WsFs) *WsFsFile {
return &WsFsFile{
File: nodefs.NewDefaultFile(),
h: handle,
fs: fs,
}
}
func (f *WsFsFile) String() string {
return "WsFsFile"
}
func (f *WsFsFile) Read(buf []byte, off int64) (fuse.ReadResult, fuse.Status) {
return nil, fuse.ENOSYS
}
func (f *WsFsFile) Write(data []byte, off int64) (uint32, fuse.Status) {
return 0, fuse.ENOSYS
}
func (f *WsFsFile) Flock(flags int) fuse.Status { return fuse.ENOSYS }
func (f *WsFsFile) Flush() fuse.Status {
return fuse.OK
}
func (f *WsFsFile) Release() {
}
func (f *WsFsFile) GetAttr(*fuse.Attr) fuse.Status {
return fuse.ENOSYS
}
func (f *WsFsFile) Fsync(flags int) (code fuse.Status) {
return fuse.ENOSYS
}
func (f *WsFsFile) Utimens(atime *time.Time, mtime *time.Time) fuse.Status {
return fuse.ENOSYS
}
func (f *WsFsFile) Truncate(size uint64) fuse.Status {
return fuse.ENOSYS
}
func (f *WsFsFile) Chown(uid uint32, gid uint32) fuse.Status {
return fuse.ENOSYS
}
func (f *WsFsFile) Chmod(perms uint32) fuse.Status {
return fuse.ENOSYS
}
func (f *WsFsFile) Allocate(off uint64, size uint64, mode uint32) (code fuse.Status) {
return fuse.ENOSYS
}