Documentation ¶
Overview ¶
The fuse package provides APIs to implement filesystems in userspace, using libfuse on Linux.
Index ¶
- Constants
- func CheckSuccess(e os.Error)
- func CopyFileInfo(fi *os.FileInfo, attr *Attr)
- func CountCpus() int
- func FloatMapToBytes(m map[string]float64) []byte
- func GetXAttr(path string, attr string) (value []byte, errno int)
- func IntMapToBytes(m map[string]int) []byte
- func IntToExponent(z int) uint
- func ListXAttr(path string) (attributes []string, errno int)
- func MakeTempDir() string
- func ModeToType(mode uint32) uint32
- func MountFileSystem(mountpoint string, fs FileSystem, opts *FileSystemOptions) (*MountState, *FileSystemConnector, os.Error)
- func MyPID() string
- func Removexattr(path string, attr string) (errno int)
- func ReverseJoin(rev_components []string, sep string) string
- func Setxattr(path string, attr string, data []byte, flags int) (errno int)
- func Socketpair(network string) (l, r *os.File, err os.Error)
- func SplitNs(time float64, secs *uint64, nsecs *uint32)
- func Version() string
- func Writev(fd int, packet [][]byte) (n int, err os.Error)
- type AccessIn
- type Attr
- type AttrOut
- type BmapIn
- type BmapOut
- type BufferPool
- type BufferPoolImpl
- type CreateIn
- type CreateOut
- type CuseInitIn
- type CuseInitOut
- type DefaultFile
- func (me *DefaultFile) Chmod(perms uint32) Status
- func (me *DefaultFile) Chown(uid uint32, gid uint32) Status
- func (me *DefaultFile) Flush() Status
- func (me *DefaultFile) Fsync(*FsyncIn) (code Status)
- func (me *DefaultFile) GetAttr() (*os.FileInfo, Status)
- func (me *DefaultFile) Ioctl(input *IoctlIn) (output *IoctlOut, data []byte, code Status)
- func (me *DefaultFile) Read(*ReadIn, BufferPool) ([]byte, Status)
- func (me *DefaultFile) Release()
- func (me *DefaultFile) Truncate(size uint64) Status
- func (me *DefaultFile) Utimens(atimeNs uint64, mtimeNs uint64) Status
- func (me *DefaultFile) Write(*WriteIn, []byte) (uint32, Status)
- type DefaultFileSystem
- func (me *DefaultFileSystem) Access(name string, mode uint32) (code Status)
- func (me *DefaultFileSystem) Chmod(name string, mode uint32) (code Status)
- func (me *DefaultFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
- func (me *DefaultFileSystem) Create(name string, flags uint32, mode uint32) (file File, code Status)
- func (me *DefaultFileSystem) Flush(name string) Status
- func (me *DefaultFileSystem) GetAttr(name string) (*os.FileInfo, Status)
- func (me *DefaultFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
- func (me *DefaultFileSystem) Link(oldName string, newName string) (code Status)
- func (me *DefaultFileSystem) ListXAttr(name string) ([]string, Status)
- func (me *DefaultFileSystem) Mkdir(name string, mode uint32) Status
- func (me *DefaultFileSystem) Mknod(name string, mode uint32, dev uint32) Status
- func (me *DefaultFileSystem) Mount(conn *FileSystemConnector) Status
- func (me *DefaultFileSystem) Open(name string, flags uint32) (file File, code Status)
- func (me *DefaultFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
- func (me *DefaultFileSystem) Readlink(name string) (string, Status)
- func (me *DefaultFileSystem) RemoveXAttr(name string, attr string) Status
- func (me *DefaultFileSystem) Rename(oldName string, newName string) (code Status)
- func (me *DefaultFileSystem) Rmdir(name string) (code Status)
- func (me *DefaultFileSystem) SetXAttr(name string, attr string, data []byte, flags int) Status
- func (me *DefaultFileSystem) Symlink(value string, linkName string) (code Status)
- func (me *DefaultFileSystem) Truncate(name string, offset uint64) (code Status)
- func (me *DefaultFileSystem) Unlink(name string) (code Status)
- func (me *DefaultFileSystem) Unmount()
- func (me *DefaultFileSystem) Utimens(name string, AtimeNs uint64, CtimeNs uint64) (code Status)
- type DefaultRawFileSystem
- func (me *DefaultRawFileSystem) Access(header *InHeader, input *AccessIn) (code Status)
- func (me *DefaultRawFileSystem) Bmap(header *InHeader, input *BmapIn) (out *BmapOut, code Status)
- func (me *DefaultRawFileSystem) Create(header *InHeader, input *CreateIn, name string) (flags uint32, handle uint64, out *EntryOut, code Status)
- func (me *DefaultRawFileSystem) Destroy(h *InHeader, input *InitIn)
- func (me *DefaultRawFileSystem) Flush(input *FlushIn) Status
- func (me *DefaultRawFileSystem) Forget(h *InHeader, input *ForgetIn)
- func (me *DefaultRawFileSystem) Fsync(input *FsyncIn) (code Status)
- func (me *DefaultRawFileSystem) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
- func (me *DefaultRawFileSystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
- func (me *DefaultRawFileSystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status)
- func (me *DefaultRawFileSystem) Ioctl(header *InHeader, input *IoctlIn) (output *IoctlOut, data []byte, code Status)
- func (me *DefaultRawFileSystem) Link(header *InHeader, input *LinkIn, name string) (out *EntryOut, code Status)
- func (me *DefaultRawFileSystem) ListXAttr(header *InHeader) (data []byte, code Status)
- func (me *DefaultRawFileSystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status)
- func (me *DefaultRawFileSystem) Mkdir(header *InHeader, input *MkdirIn, name string) (out *EntryOut, code Status)
- func (me *DefaultRawFileSystem) Mknod(header *InHeader, input *MknodIn, name string) (out *EntryOut, code Status)
- func (me *DefaultRawFileSystem) Open(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *DefaultRawFileSystem) OpenDir(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *DefaultRawFileSystem) Poll(header *InHeader, input *PollIn) (out *PollOut, code Status)
- func (me *DefaultRawFileSystem) Read(*ReadIn, BufferPool) ([]byte, Status)
- func (me *DefaultRawFileSystem) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
- func (me *DefaultRawFileSystem) Readlink(header *InHeader) (out []byte, code Status)
- func (me *DefaultRawFileSystem) Release(header *InHeader, input *ReleaseIn)
- func (me *DefaultRawFileSystem) ReleaseDir(header *InHeader, input *ReleaseIn)
- func (me *DefaultRawFileSystem) RemoveXAttr(header *InHeader, attr string) Status
- func (me *DefaultRawFileSystem) Rename(header *InHeader, input *RenameIn, oldName string, newName string) (code Status)
- func (me *DefaultRawFileSystem) Rmdir(header *InHeader, name string) (code Status)
- func (me *DefaultRawFileSystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
- func (me *DefaultRawFileSystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
- func (me *DefaultRawFileSystem) Symlink(header *InHeader, pointedTo string, linkName string) (out *EntryOut, code Status)
- func (me *DefaultRawFileSystem) Unlink(header *InHeader, name string) (code Status)
- func (me *DefaultRawFileSystem) Write(input *WriteIn, data []byte) (written uint32, code Status)
- type DevNullFile
- type Dir
- type DirEntry
- type DirEntryList
- type Dirent
- type EntryOut
- type File
- type FileLock
- type FileSystem
- type FileSystemConnector
- func (me *FileSystemConnector) Access(header *InHeader, input *AccessIn) (code Status)
- func (me *FileSystemConnector) Create(header *InHeader, input *CreateIn, name string) (flags uint32, h uint64, out *EntryOut, code Status)
- func (me *FileSystemConnector) Destroy(h *InHeader, input *InitIn)
- func (me *FileSystemConnector) Flush(input *FlushIn) Status
- func (me *FileSystemConnector) Forget(h *InHeader, input *ForgetIn)
- func (me *FileSystemConnector) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
- func (me *FileSystemConnector) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
- func (me *FileSystemConnector) GetPath(nodeid uint64) (path string, mount *mountData, node *inode)
- func (me *FileSystemConnector) GetXAttr(header *InHeader, attribute string) (data []byte, code Status)
- func (me *FileSystemConnector) Ioctl(header *InHeader, input *IoctlIn) (out *IoctlOut, data []byte, code Status)
- func (me *FileSystemConnector) Link(header *InHeader, input *LinkIn, filename string) (out *EntryOut, code Status)
- func (me *FileSystemConnector) ListXAttr(header *InHeader) (data []byte, code Status)
- func (me *FileSystemConnector) Lookup(header *InHeader, name string) (out *EntryOut, status Status)
- func (me *FileSystemConnector) Mkdir(header *InHeader, input *MkdirIn, name string) (out *EntryOut, code Status)
- func (me *FileSystemConnector) Mknod(header *InHeader, input *MknodIn, name string) (out *EntryOut, code Status)
- func (me *FileSystemConnector) Mount(mountPoint string, fs FileSystem, opts *FileSystemOptions) Status
- func (me *FileSystemConnector) Open(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *FileSystemConnector) OpenDir(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *FileSystemConnector) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
- func (me *FileSystemConnector) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
- func (me *FileSystemConnector) Readlink(header *InHeader) (out []byte, code Status)
- func (me *FileSystemConnector) Release(header *InHeader, input *ReleaseIn)
- func (me *FileSystemConnector) ReleaseDir(header *InHeader, input *ReleaseIn)
- func (me *FileSystemConnector) RemoveXAttr(header *InHeader, attr string) Status
- func (me *FileSystemConnector) Rename(header *InHeader, input *RenameIn, oldName string, newName string) (code Status)
- func (me *FileSystemConnector) Rmdir(header *InHeader, name string) (code Status)
- func (me *FileSystemConnector) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
- func (me *FileSystemConnector) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
- func (me *FileSystemConnector) Statistics() string
- func (me *FileSystemConnector) Symlink(header *InHeader, pointedTo string, linkName string) (out *EntryOut, code Status)
- func (me *FileSystemConnector) Unlink(header *InHeader, name string) (code Status)
- func (me *FileSystemConnector) Unmount(path string) Status
- func (me *FileSystemConnector) Write(input *WriteIn, data []byte) (written uint32, code Status)
- type FileSystemDebug
- func (me *FileSystemDebug) Add(name string, callback getter)
- func (me *FileSystemDebug) AddFileSystemConnector(conn *FileSystemConnector)
- func (me *FileSystemDebug) AddMountState(state *MountState)
- func (me *FileSystemDebug) AddRawTimingFileSystem(tfs *TimingRawFileSystem)
- func (me *FileSystemDebug) AddTimingFileSystem(tfs *TimingFileSystem)
- func (me *FileSystemDebug) GetAttr(path string) (*os.FileInfo, Status)
- func (me *FileSystemDebug) GetXAttr(name string, attr string) ([]byte, Status)
- func (me *FileSystemDebug) Open(path string, flags uint32) (fuseFile File, status Status)
- func (me *FileSystemDebug) OpenDir(name string) (stream chan DirEntry, status Status)
- type FileSystemOptions
- type FlushIn
- type ForgetIn
- type FsyncIn
- type GcBufferPool
- type GetAttrIn
- type GetXAttrIn
- type GetXAttrOut
- type Identity
- type InHeader
- type InitIn
- type InitOut
- type InterruptIn
- type IoctlIn
- type IoctlOut
- type Kstatfs
- type LatencyArg
- type LatencyMap
- type LinkIn
- type LkIn
- type LkOut
- type LockingFileSystem
- func (me *LockingFileSystem) Access(name string, mode uint32) (code Status)
- func (me *LockingFileSystem) Chmod(name string, mode uint32) (code Status)
- func (me *LockingFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
- func (me *LockingFileSystem) Create(name string, flags uint32, mode uint32) (file File, code Status)
- func (me *LockingFileSystem) GetAttr(name string) (*os.FileInfo, Status)
- func (me *LockingFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
- func (me *LockingFileSystem) Link(oldName string, newName string) (code Status)
- func (me *LockingFileSystem) ListXAttr(name string) ([]string, Status)
- func (me *LockingFileSystem) Mkdir(name string, mode uint32) Status
- func (me *LockingFileSystem) Mknod(name string, mode uint32, dev uint32) Status
- func (me *LockingFileSystem) Mount(conn *FileSystemConnector) Status
- func (me *LockingFileSystem) Open(name string, flags uint32) (file File, code Status)
- func (me *LockingFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
- func (me *LockingFileSystem) Readlink(name string) (string, Status)
- func (me *LockingFileSystem) RemoveXAttr(name string, attr string) Status
- func (me *LockingFileSystem) Rename(oldName string, newName string) (code Status)
- func (me *LockingFileSystem) Rmdir(name string) (code Status)
- func (me *LockingFileSystem) SetXAttr(name string, attr string, data []byte, flags int) Status
- func (me *LockingFileSystem) Symlink(value string, linkName string) (code Status)
- func (me *LockingFileSystem) Truncate(name string, offset uint64) (code Status)
- func (me *LockingFileSystem) Unlink(name string) (code Status)
- func (me *LockingFileSystem) Unmount()
- func (me *LockingFileSystem) Utimens(name string, AtimeNs uint64, CtimeNs uint64) (code Status)
- type LockingRawFileSystem
- func (me *LockingRawFileSystem) Access(header *InHeader, input *AccessIn) (code Status)
- func (me *LockingRawFileSystem) Create(header *InHeader, input *CreateIn, name string) (flags uint32, handle uint64, out *EntryOut, code Status)
- func (me *LockingRawFileSystem) Destroy(h *InHeader, input *InitIn)
- func (me *LockingRawFileSystem) Flush(input *FlushIn) Status
- func (me *LockingRawFileSystem) Forget(h *InHeader, input *ForgetIn)
- func (me *LockingRawFileSystem) Fsync(input *FsyncIn) (code Status)
- func (me *LockingRawFileSystem) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
- func (me *LockingRawFileSystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
- func (me *LockingRawFileSystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status)
- func (me *LockingRawFileSystem) Link(header *InHeader, input *LinkIn, name string) (out *EntryOut, code Status)
- func (me *LockingRawFileSystem) ListXAttr(header *InHeader) (data []byte, code Status)
- func (me *LockingRawFileSystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status)
- func (me *LockingRawFileSystem) Mkdir(header *InHeader, input *MkdirIn, name string) (out *EntryOut, code Status)
- func (me *LockingRawFileSystem) Mknod(header *InHeader, input *MknodIn, name string) (out *EntryOut, code Status)
- func (me *LockingRawFileSystem) Open(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *LockingRawFileSystem) OpenDir(header *InHeader, input *OpenIn) (flags uint32, h uint64, status Status)
- func (me *LockingRawFileSystem) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
- func (me *LockingRawFileSystem) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
- func (me *LockingRawFileSystem) Readlink(header *InHeader) (out []byte, code Status)
- func (me *LockingRawFileSystem) Release(header *InHeader, input *ReleaseIn)
- func (me *LockingRawFileSystem) ReleaseDir(header *InHeader, h *ReleaseIn)
- func (me *LockingRawFileSystem) RemoveXAttr(header *InHeader, attr string) Status
- func (me *LockingRawFileSystem) Rename(header *InHeader, input *RenameIn, oldName string, newName string) (code Status)
- func (me *LockingRawFileSystem) Rmdir(header *InHeader, name string) (code Status)
- func (me *LockingRawFileSystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
- func (me *LockingRawFileSystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
- func (me *LockingRawFileSystem) Symlink(header *InHeader, pointedTo string, linkName string) (out *EntryOut, code Status)
- func (me *LockingRawFileSystem) Unlink(header *InHeader, name string) (code Status)
- func (me *LockingRawFileSystem) Write(input *WriteIn, data []byte) (written uint32, code Status)
- type LoggingFileSystem
- func (me *LoggingFileSystem) Access(name string, mode uint32) (code Status)
- func (me *LoggingFileSystem) Chmod(name string, mode uint32) (code Status)
- func (me *LoggingFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
- func (me *LoggingFileSystem) Create(name string, flags uint32, mode uint32) (file File, code Status)
- func (me *LoggingFileSystem) GetAttr(name string) (*os.FileInfo, Status)
- func (me *LoggingFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
- func (me *LoggingFileSystem) Link(oldName string, newName string) (code Status)
- func (me *LoggingFileSystem) ListXAttr(name string) ([]string, Status)
- func (me *LoggingFileSystem) Mkdir(name string, mode uint32) Status
- func (me *LoggingFileSystem) Mknod(name string, mode uint32, dev uint32) Status
- func (me *LoggingFileSystem) Mount(conn *FileSystemConnector) Status
- func (me *LoggingFileSystem) Open(name string, flags uint32) (file File, code Status)
- func (me *LoggingFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
- func (me *LoggingFileSystem) Print(name string, arg string)
- func (me *LoggingFileSystem) Readlink(name string) (string, Status)
- func (me *LoggingFileSystem) RemoveXAttr(name string, attr string) Status
- func (me *LoggingFileSystem) Rename(oldName string, newName string) (code Status)
- func (me *LoggingFileSystem) Rmdir(name string) (code Status)
- func (me *LoggingFileSystem) SetXAttr(name string, attr string, data []byte, flags int) Status
- func (me *LoggingFileSystem) Symlink(value string, linkName string) (code Status)
- func (me *LoggingFileSystem) Truncate(name string, offset uint64) (code Status)
- func (me *LoggingFileSystem) Unlink(name string) (code Status)
- func (me *LoggingFileSystem) Unmount()
- func (me *LoggingFileSystem) Utimens(name string, AtimeNs uint64, CtimeNs uint64) (code Status)
- type LoopbackFile
- func (me *LoopbackFile) Chmod(mode uint32) Status
- func (me *LoopbackFile) Chown(uid uint32, gid uint32) Status
- func (me *LoopbackFile) Fsync(*FsyncIn) (code Status)
- func (me *LoopbackFile) GetAttr() (*os.FileInfo, Status)
- func (me *LoopbackFile) Read(input *ReadIn, buffers BufferPool) ([]byte, Status)
- func (me *LoopbackFile) Release()
- func (me *LoopbackFile) Truncate(size uint64) Status
- func (me *LoopbackFile) Write(input *WriteIn, data []byte) (uint32, Status)
- type LoopbackFileSystem
- func (me *LoopbackFileSystem) Access(name string, mode uint32) (code Status)
- func (me *LoopbackFileSystem) Chmod(path string, mode uint32) (code Status)
- func (me *LoopbackFileSystem) Chown(path string, uid uint32, gid uint32) (code Status)
- func (me *LoopbackFileSystem) Create(path string, flags uint32, mode uint32) (fuseFile File, code Status)
- func (me *LoopbackFileSystem) GetAttr(name string) (*os.FileInfo, Status)
- func (me *LoopbackFileSystem) GetPath(relPath string) string
- func (me *LoopbackFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
- func (me *LoopbackFileSystem) Link(orig string, newName string) (code Status)
- func (me *LoopbackFileSystem) ListXAttr(name string) ([]string, Status)
- func (me *LoopbackFileSystem) Mkdir(path string, mode uint32) (code Status)
- func (me *LoopbackFileSystem) Mknod(name string, mode uint32, dev uint32) (code Status)
- func (me *LoopbackFileSystem) Open(name string, flags uint32) (fuseFile File, status Status)
- func (me *LoopbackFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
- func (me *LoopbackFileSystem) Readlink(name string) (out string, code Status)
- func (me *LoopbackFileSystem) RemoveXAttr(name string, attr string) Status
- func (me *LoopbackFileSystem) Rename(oldPath string, newPath string) (code Status)
- func (me *LoopbackFileSystem) Rmdir(name string) (code Status)
- func (me *LoopbackFileSystem) Symlink(pointedTo string, linkName string) (code Status)
- func (me *LoopbackFileSystem) Truncate(path string, offset uint64) (code Status)
- func (me *LoopbackFileSystem) Unlink(name string) (code Status)
- func (me *LoopbackFileSystem) Utimens(path string, AtimeNs uint64, MtimeNs uint64) (code Status)
- type MkdirIn
- type MknodIn
- type MountOptions
- type MountState
- func (me *MountState) BufferPoolStats() string
- func (me *MountState) KernelSettings() InitIn
- func (me *MountState) Latencies() map[string]float64
- func (me *MountState) Loop(threaded bool)
- func (me *MountState) Mount(mountPoint string, opts *MountOptions) os.Error
- func (me *MountState) MountPoint() string
- func (me *MountState) OperationCounts() map[string]int
- func (me *MountState) SetRecordStatistics(record bool)
- func (me *MountState) Unmount() os.Error
- type NotifyCode
- type NotifyInvalEntryOut
- type NotifyInvalInodeOut
- type NotifyPollWakeupOut
- type OpenIn
- type OpenOut
- type OutHeader
- type Owner
- type PollIn
- type PollOut
- type RawFileSystem
- type ReadIn
- type ReadOnlyFile
- type ReleaseIn
- type RenameIn
- type SetAttrIn
- type SetXAttrIn
- type StatfsOut
- type Status
- type TimingFileSystem
- func (me *TimingFileSystem) Access(name string, mode uint32) (code Status)
- func (me *TimingFileSystem) Chmod(name string, mode uint32) (code Status)
- func (me *TimingFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
- func (me *TimingFileSystem) Create(name string, flags uint32, mode uint32) (file File, code Status)
- func (me *TimingFileSystem) GetAttr(name string) (*os.FileInfo, Status)
- func (me *TimingFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
- func (me *TimingFileSystem) HotPaths(operation string) (paths []string)
- func (me *TimingFileSystem) Latencies() map[string]float64
- func (me *TimingFileSystem) Link(oldName string, newName string) (code Status)
- func (me *TimingFileSystem) ListXAttr(name string) ([]string, Status)
- func (me *TimingFileSystem) Mkdir(name string, mode uint32) Status
- func (me *TimingFileSystem) Mknod(name string, mode uint32, dev uint32) Status
- func (me *TimingFileSystem) Mount(conn *FileSystemConnector) Status
- func (me *TimingFileSystem) Open(name string, flags uint32) (file File, code Status)
- func (me *TimingFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
- func (me *TimingFileSystem) OperationCounts() map[string]int
- func (me *TimingFileSystem) Readlink(name string) (string, Status)
- func (me *TimingFileSystem) RemoveXAttr(name string, attr string) Status
- func (me *TimingFileSystem) Rename(oldName string, newName string) (code Status)
- func (me *TimingFileSystem) Rmdir(name string) (code Status)
- func (me *TimingFileSystem) SetXAttr(name string, attr string, data []byte, flags int) Status
- func (me *TimingFileSystem) Symlink(value string, linkName string) (code Status)
- func (me *TimingFileSystem) Truncate(name string, offset uint64) (code Status)
- func (me *TimingFileSystem) Unlink(name string) (code Status)
- func (me *TimingFileSystem) Unmount()
- func (me *TimingFileSystem) Utimens(name string, AtimeNs uint64, CtimeNs uint64) (code Status)
- type TimingRawFileSystem
- func (me *TimingRawFileSystem) Access(header *InHeader, input *AccessIn) (code Status)
- func (me *TimingRawFileSystem) Create(header *InHeader, input *CreateIn, name string) (flags uint32, handle uint64, out *EntryOut, code Status)
- func (me *TimingRawFileSystem) Destroy(h *InHeader, input *InitIn)
- func (me *TimingRawFileSystem) Flush(input *FlushIn) Status
- func (me *TimingRawFileSystem) Forget(h *InHeader, input *ForgetIn)
- func (me *TimingRawFileSystem) Fsync(input *FsyncIn) (code Status)
- func (me *TimingRawFileSystem) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
- func (me *TimingRawFileSystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
- func (me *TimingRawFileSystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status)
- func (me *TimingRawFileSystem) Latencies() map[string]float64
- func (me *TimingRawFileSystem) Link(header *InHeader, input *LinkIn, name string) (out *EntryOut, code Status)
- func (me *TimingRawFileSystem) ListXAttr(header *InHeader) (data []byte, code Status)
- func (me *TimingRawFileSystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status)
- func (me *TimingRawFileSystem) Mkdir(header *InHeader, input *MkdirIn, name string) (out *EntryOut, code Status)
- func (me *TimingRawFileSystem) Mknod(header *InHeader, input *MknodIn, name string) (out *EntryOut, code Status)
- func (me *TimingRawFileSystem) Open(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *TimingRawFileSystem) OpenDir(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status)
- func (me *TimingRawFileSystem) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
- func (me *TimingRawFileSystem) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
- func (me *TimingRawFileSystem) Readlink(header *InHeader) (out []byte, code Status)
- func (me *TimingRawFileSystem) Release(header *InHeader, input *ReleaseIn)
- func (me *TimingRawFileSystem) ReleaseDir(header *InHeader, input *ReleaseIn)
- func (me *TimingRawFileSystem) RemoveXAttr(header *InHeader, attr string) Status
- func (me *TimingRawFileSystem) Rename(header *InHeader, input *RenameIn, oldName string, newName string) (code Status)
- func (me *TimingRawFileSystem) Rmdir(header *InHeader, name string) (code Status)
- func (me *TimingRawFileSystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
- func (me *TimingRawFileSystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
- func (me *TimingRawFileSystem) Symlink(header *InHeader, pointedTo string, linkName string) (out *EntryOut, code Status)
- func (me *TimingRawFileSystem) Unlink(header *InHeader, name string) (code Status)
- func (me *TimingRawFileSystem) Write(input *WriteIn, data []byte) (written uint32, code Status)
- type WriteIn
- type WriteOut
Constants ¶
const ( FUSE_ROOT_ID = 1 FUSE_UNKNOWN_INO = 0xffffffff CUSE_UNRESTRICTED_IOCTL = (1 << 0) FUSE_RELEASE_FLUSH = (1 << 0) FUSE_LK_FLOCK = (1 << 0) FUSE_IOCTL_MAX_IOV = 256 FUSE_POLL_SCHEDULE_NOTIFY = (1 << 0) CUSE_INIT_INFO_MAX = 4096 S_IFDIR = syscall.S_IFDIR S_IFREG = syscall.S_IFREG S_IFLNK = syscall.S_IFLNK // TODO - get this from a canonical place. PAGESIZE = 4096 CUSE_INIT = 4096 O_ANYWRITE = uint32(os.O_WRONLY | os.O_RDWR | os.O_APPEND | os.O_CREATE | os.O_TRUNC) )
const ( OK = Status(0) EACCES = Status(syscall.EACCES) EBUSY = Status(syscall.EBUSY) EINVAL = Status(syscall.EINVAL) EIO = Status(syscall.EIO) ENOENT = Status(syscall.ENOENT) ENOSYS = Status(syscall.ENOSYS) ENOTDIR = Status(syscall.ENOTDIR) EPERM = Status(syscall.EPERM) ERANGE = Status(syscall.ERANGE) EXDEV = Status(syscall.EXDEV) )
const ( FUSE_NOTIFY_POLL = 1 FUSE_NOTIFY_INVAL_INODE = 2 FUSE_NOTIFY_INVAL_ENTRY = 3 FUSE_NOTIFY_CODE_MAX = 4 )
const ( FATTR_MODE = (1 << 0) FATTR_UID = (1 << 1) FATTR_GID = (1 << 2) FATTR_SIZE = (1 << 3) FATTR_ATIME = (1 << 4) FATTR_MTIME = (1 << 5) FATTR_FH = (1 << 6) FATTR_ATIME_NOW = (1 << 7) FATTR_MTIME_NOW = (1 << 8) FATTR_LOCKOWNER = (1 << 9) )
const ( // OpenIn.Flags FOPEN_DIRECT_IO = (1 << 0) FOPEN_KEEP_CACHE = (1 << 1) FOPEN_NONSEEKABLE = (1 << 2) )
const ( FUSE_WRITE_CACHE = (1 << 0) FUSE_WRITE_LOCKOWNER = (1 << 1) )
const ( CAP_ASYNC_READ = (1 << 0) CAP_POSIX_LOCKS = (1 << 1) CAP_FILE_OPS = (1 << 2) CAP_ATOMIC_O_TRUNC = (1 << 3) CAP_EXPORT_SUPPORT = (1 << 4) CAP_BIG_WRITES = (1 << 5) CAP_DONT_MASK = (1 << 6) CAP_SPLICE_WRITE = (1 << 7) CAP_SPLICE_MOVE = (1 << 8) CAP_SPLICE_READ = (1 << 9) )
To be set in InitIn/InitOut.Flags.
const ( FUSE_IOCTL_COMPAT = (1 << 0) FUSE_IOCTL_UNRESTRICTED = (1 << 1) FUSE_IOCTL_RETRY = (1 << 2) )
const (
DebugDir = ".debug"
)
const (
// Mask for GetAttrIn.Flags. If set, GetAttrIn has a file handle set.
FUSE_GETATTR_FH = (1 << 0)
)
const (
FUSE_READ_LOCKOWNER = (1 << 1)
)
Variables ¶
This section is empty.
Functions ¶
func CheckSuccess ¶
func CopyFileInfo ¶
func FloatMapToBytes ¶
func IntToExponent ¶
IntToExponent the smallest E such that 2^E >= Z.
func ModeToType ¶
func MountFileSystem ¶
func MountFileSystem(mountpoint string, fs FileSystem, opts *FileSystemOptions) (*MountState, *FileSystemConnector, os.Error)
func Removexattr ¶
func ReverseJoin ¶
Types ¶
type BufferPool ¶
type BufferPoolImpl ¶
type BufferPoolImpl struct {
// contains filtered or unexported fields
}
BufferPool implements a pool of buffers that returns slices with capacity (2^e * PAGESIZE) for e=0,1,... which have possibly been used, and may contain random contents.
func NewBufferPool ¶
func NewBufferPool() *BufferPoolImpl
func (*BufferPoolImpl) AllocBuffer ¶
func (me *BufferPoolImpl) AllocBuffer(size uint32) []byte
AllocBuffer creates a buffer of at least the given size. After use, it should be deallocated with FreeBuffer().
func (*BufferPoolImpl) FreeBuffer ¶
func (me *BufferPoolImpl) FreeBuffer(slice []byte)
FreeBuffer takes back a buffer if it was allocated through AllocBuffer. It is not an error to call FreeBuffer() on a slice obtained elsewhere.
func (*BufferPoolImpl) String ¶
func (me *BufferPoolImpl) String() string
type CuseInitOut ¶
type DefaultFile ¶
type DefaultFile struct{}
DefaultFile returns ENOSYS for every operation.
func (*DefaultFile) Chmod ¶
func (me *DefaultFile) Chmod(perms uint32) Status
func (*DefaultFile) Flush ¶
func (me *DefaultFile) Flush() Status
func (*DefaultFile) Fsync ¶
func (me *DefaultFile) Fsync(*FsyncIn) (code Status)
func (*DefaultFile) Ioctl ¶
func (me *DefaultFile) Ioctl(input *IoctlIn) (output *IoctlOut, data []byte, code Status)
func (*DefaultFile) Read ¶
func (me *DefaultFile) Read(*ReadIn, BufferPool) ([]byte, Status)
func (*DefaultFile) Release ¶
func (me *DefaultFile) Release()
func (*DefaultFile) Truncate ¶
func (me *DefaultFile) Truncate(size uint64) Status
type DefaultFileSystem ¶
type DefaultFileSystem struct{}
DefaultFileSystem implements a FileSystem that returns ENOSYS for every operation.
func (*DefaultFileSystem) Access ¶
func (me *DefaultFileSystem) Access(name string, mode uint32) (code Status)
func (*DefaultFileSystem) Chmod ¶
func (me *DefaultFileSystem) Chmod(name string, mode uint32) (code Status)
func (*DefaultFileSystem) Chown ¶
func (me *DefaultFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
func (*DefaultFileSystem) Flush ¶
func (me *DefaultFileSystem) Flush(name string) Status
func (*DefaultFileSystem) GetAttr ¶
func (me *DefaultFileSystem) GetAttr(name string) (*os.FileInfo, Status)
func (*DefaultFileSystem) GetXAttr ¶
func (me *DefaultFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
func (*DefaultFileSystem) Link ¶
func (me *DefaultFileSystem) Link(oldName string, newName string) (code Status)
func (*DefaultFileSystem) ListXAttr ¶
func (me *DefaultFileSystem) ListXAttr(name string) ([]string, Status)
func (*DefaultFileSystem) Mkdir ¶
func (me *DefaultFileSystem) Mkdir(name string, mode uint32) Status
func (*DefaultFileSystem) Mknod ¶
func (me *DefaultFileSystem) Mknod(name string, mode uint32, dev uint32) Status
func (*DefaultFileSystem) Mount ¶
func (me *DefaultFileSystem) Mount(conn *FileSystemConnector) Status
func (*DefaultFileSystem) Open ¶
func (me *DefaultFileSystem) Open(name string, flags uint32) (file File, code Status)
func (*DefaultFileSystem) OpenDir ¶
func (me *DefaultFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
func (*DefaultFileSystem) Readlink ¶
func (me *DefaultFileSystem) Readlink(name string) (string, Status)
func (*DefaultFileSystem) RemoveXAttr ¶
func (me *DefaultFileSystem) RemoveXAttr(name string, attr string) Status
func (*DefaultFileSystem) Rename ¶
func (me *DefaultFileSystem) Rename(oldName string, newName string) (code Status)
func (*DefaultFileSystem) Rmdir ¶
func (me *DefaultFileSystem) Rmdir(name string) (code Status)
func (*DefaultFileSystem) Symlink ¶
func (me *DefaultFileSystem) Symlink(value string, linkName string) (code Status)
func (*DefaultFileSystem) Truncate ¶
func (me *DefaultFileSystem) Truncate(name string, offset uint64) (code Status)
func (*DefaultFileSystem) Unlink ¶
func (me *DefaultFileSystem) Unlink(name string) (code Status)
func (*DefaultFileSystem) Unmount ¶
func (me *DefaultFileSystem) Unmount()
type DefaultRawFileSystem ¶
type DefaultRawFileSystem struct{}
DefaultRawFileSystem returns ENOSYS for every operation.
func (*DefaultRawFileSystem) Access ¶
func (me *DefaultRawFileSystem) Access(header *InHeader, input *AccessIn) (code Status)
func (*DefaultRawFileSystem) Bmap ¶
func (me *DefaultRawFileSystem) Bmap(header *InHeader, input *BmapIn) (out *BmapOut, code Status)
func (*DefaultRawFileSystem) Destroy ¶
func (me *DefaultRawFileSystem) Destroy(h *InHeader, input *InitIn)
func (*DefaultRawFileSystem) Flush ¶
func (me *DefaultRawFileSystem) Flush(input *FlushIn) Status
func (*DefaultRawFileSystem) Forget ¶
func (me *DefaultRawFileSystem) Forget(h *InHeader, input *ForgetIn)
func (*DefaultRawFileSystem) Fsync ¶
func (me *DefaultRawFileSystem) Fsync(input *FsyncIn) (code Status)
func (*DefaultRawFileSystem) FsyncDir ¶
func (me *DefaultRawFileSystem) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
func (*DefaultRawFileSystem) GetAttr ¶
func (me *DefaultRawFileSystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
func (*DefaultRawFileSystem) GetXAttr ¶
func (me *DefaultRawFileSystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status)
func (*DefaultRawFileSystem) ListXAttr ¶
func (me *DefaultRawFileSystem) ListXAttr(header *InHeader) (data []byte, code Status)
func (*DefaultRawFileSystem) Lookup ¶
func (me *DefaultRawFileSystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status)
func (*DefaultRawFileSystem) Poll ¶
func (me *DefaultRawFileSystem) Poll(header *InHeader, input *PollIn) (out *PollOut, code Status)
func (*DefaultRawFileSystem) Read ¶
func (me *DefaultRawFileSystem) Read(*ReadIn, BufferPool) ([]byte, Status)
func (*DefaultRawFileSystem) ReadDir ¶
func (me *DefaultRawFileSystem) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
func (*DefaultRawFileSystem) Readlink ¶
func (me *DefaultRawFileSystem) Readlink(header *InHeader) (out []byte, code Status)
func (*DefaultRawFileSystem) Release ¶
func (me *DefaultRawFileSystem) Release(header *InHeader, input *ReleaseIn)
func (*DefaultRawFileSystem) ReleaseDir ¶
func (me *DefaultRawFileSystem) ReleaseDir(header *InHeader, input *ReleaseIn)
func (*DefaultRawFileSystem) RemoveXAttr ¶
func (me *DefaultRawFileSystem) RemoveXAttr(header *InHeader, attr string) Status
func (*DefaultRawFileSystem) Rmdir ¶
func (me *DefaultRawFileSystem) Rmdir(header *InHeader, name string) (code Status)
func (*DefaultRawFileSystem) SetAttr ¶
func (me *DefaultRawFileSystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
func (*DefaultRawFileSystem) SetXAttr ¶
func (me *DefaultRawFileSystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
type DevNullFile ¶
type DevNullFile struct {
DefaultFile
}
DevNullFile accepts any write, and always returns EOF.
func NewDevNullFile ¶
func NewDevNullFile() *DevNullFile
func (*DevNullFile) Flush ¶
func (me *DevNullFile) Flush() Status
func (*DevNullFile) Fsync ¶
func (me *DevNullFile) Fsync(*FsyncIn) (code Status)
func (*DevNullFile) Read ¶
func (me *DevNullFile) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
type DirEntryList ¶
type DirEntryList struct {
// contains filtered or unexported fields
}
func NewDirEntryList ¶
func NewDirEntryList(max int) *DirEntryList
func (*DirEntryList) AddString ¶
func (me *DirEntryList) AddString(name string, inode uint64, mode uint32) bool
func (*DirEntryList) Bytes ¶
func (me *DirEntryList) Bytes() []byte
type EntryOut ¶
type EntryOut struct { NodeId uint64 Generation uint64 EntryValid uint64 AttrValid uint64 EntryValidNsec uint32 AttrValidNsec uint32 Attr }
func NegativeEntry ¶
Creates a return entry for a non-existent path.
type File ¶
type File interface { Read(*ReadIn, BufferPool) ([]byte, Status) Write(*WriteIn, []byte) (written uint32, code Status) Truncate(size uint64) Status GetAttr() (*os.FileInfo, Status) Chown(uid uint32, gid uint32) Status Chmod(perms uint32) Status Utimens(atimeNs uint64, mtimeNs uint64) Status Flush() Status Release() Fsync(*FsyncIn) (code Status) Ioctl(input *IoctlIn) (output *IoctlOut, data []byte, code Status) }
A File object should be returned from FileSystem.Open and FileSystem.Create. Include DefaultFile into the struct to inherit a default null implementation.
TODO - should File be thread safe?
type FileSystem ¶
type FileSystem interface { // Attributes GetAttr(name string) (*os.FileInfo, Status) // These should update the file's ctime too. Chmod(name string, mode uint32) (code Status) Chown(name string, uid uint32, gid uint32) (code Status) Utimens(name string, AtimeNs uint64, MtimeNs uint64) (code Status) Truncate(name string, offset uint64) (code Status) Access(name string, mode uint32) (code Status) // Tree structure Link(oldName string, newName string) (code Status) Mkdir(name string, mode uint32) Status Mknod(name string, mode uint32, dev uint32) Status Rename(oldName string, newName string) (code Status) Rmdir(name string) (code Status) Unlink(name string) (code Status) // Extended attributes. GetXAttr(name string, attribute string) (data []byte, code Status) ListXAttr(name string) (attributes []string, code Status) RemoveXAttr(name string, attr string) Status SetXAttr(name string, attr string, data []byte, flags int) Status // Called after mount. Mount(connector *FileSystemConnector) Status Unmount() // File handling. If opening for writing, the file's mtime // should be updated too. Open(name string, flags uint32) (file File, code Status) Create(name string, flags uint32, mode uint32) (file File, code Status) // Flush() gets called as a file opened for read/write. Flush(name string) Status // Directory handling OpenDir(name string) (stream chan DirEntry, code Status) // Symlinks. Symlink(value string, linkName string) (code Status) Readlink(name string) (string, Status) }
A filesystem API that uses paths rather than inodes. A minimal file system should have at least a functional GetAttr method. Typically, each call happens in its own goroutine, so take care to make the file system thread-safe.
Include DefaultFileSystem to provide a default null implementation of required methods.
type FileSystemConnector ¶
type FileSystemConnector struct { DefaultRawFileSystem Debug bool // contains filtered or unexported fields }
func EmptyFileSystemConnector ¶
func EmptyFileSystemConnector() (out *FileSystemConnector)
func NewFileSystemConnector ¶
func NewFileSystemConnector(fs FileSystem, opts *FileSystemOptions) (out *FileSystemConnector)
func (*FileSystemConnector) Access ¶
func (me *FileSystemConnector) Access(header *InHeader, input *AccessIn) (code Status)
func (*FileSystemConnector) Destroy ¶
func (me *FileSystemConnector) Destroy(h *InHeader, input *InitIn)
func (*FileSystemConnector) Flush ¶
func (me *FileSystemConnector) Flush(input *FlushIn) Status
func (*FileSystemConnector) Forget ¶
func (me *FileSystemConnector) Forget(h *InHeader, input *ForgetIn)
func (*FileSystemConnector) FsyncDir ¶
func (me *FileSystemConnector) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
func (*FileSystemConnector) GetAttr ¶
func (me *FileSystemConnector) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
func (*FileSystemConnector) GetPath ¶
func (me *FileSystemConnector) GetPath(nodeid uint64) (path string, mount *mountData, node *inode)
func (*FileSystemConnector) GetXAttr ¶
func (me *FileSystemConnector) GetXAttr(header *InHeader, attribute string) (data []byte, code Status)
func (*FileSystemConnector) ListXAttr ¶
func (me *FileSystemConnector) ListXAttr(header *InHeader) (data []byte, code Status)
func (*FileSystemConnector) Lookup ¶
func (me *FileSystemConnector) Lookup(header *InHeader, name string) (out *EntryOut, status Status)
func (*FileSystemConnector) Mount ¶
func (me *FileSystemConnector) Mount(mountPoint string, fs FileSystem, opts *FileSystemOptions) Status
func (*FileSystemConnector) Read ¶
func (me *FileSystemConnector) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
func (*FileSystemConnector) ReadDir ¶
func (me *FileSystemConnector) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
func (*FileSystemConnector) Readlink ¶
func (me *FileSystemConnector) Readlink(header *InHeader) (out []byte, code Status)
func (*FileSystemConnector) Release ¶
func (me *FileSystemConnector) Release(header *InHeader, input *ReleaseIn)
func (*FileSystemConnector) ReleaseDir ¶
func (me *FileSystemConnector) ReleaseDir(header *InHeader, input *ReleaseIn)
func (*FileSystemConnector) RemoveXAttr ¶
func (me *FileSystemConnector) RemoveXAttr(header *InHeader, attr string) Status
func (*FileSystemConnector) Rmdir ¶
func (me *FileSystemConnector) Rmdir(header *InHeader, name string) (code Status)
func (*FileSystemConnector) SetAttr ¶
func (me *FileSystemConnector) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
func (*FileSystemConnector) SetXAttr ¶
func (me *FileSystemConnector) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
func (*FileSystemConnector) Statistics ¶
func (me *FileSystemConnector) Statistics() string
func (*FileSystemConnector) Unlink ¶
func (me *FileSystemConnector) Unlink(header *InHeader, name string) (code Status)
func (*FileSystemConnector) Unmount ¶
func (me *FileSystemConnector) Unmount(path string) Status
type FileSystemDebug ¶
type FileSystemDebug struct { sync.RWMutex FileSystem // contains filtered or unexported fields }
FileSystemDebug exposes a .debug directory, exposing files for which a read hooks into a callback. This is useful for exporting metrics and debug information from the daemon.
TODO - should use in-process mount instead?
func NewFileSystemDebug ¶
func NewFileSystemDebug() *FileSystemDebug
func (*FileSystemDebug) Add ¶
func (me *FileSystemDebug) Add(name string, callback getter)
func (*FileSystemDebug) AddFileSystemConnector ¶
func (me *FileSystemDebug) AddFileSystemConnector(conn *FileSystemConnector)
func (*FileSystemDebug) AddMountState ¶
func (me *FileSystemDebug) AddMountState(state *MountState)
func (*FileSystemDebug) AddRawTimingFileSystem ¶
func (me *FileSystemDebug) AddRawTimingFileSystem(tfs *TimingRawFileSystem)
func (*FileSystemDebug) AddTimingFileSystem ¶
func (me *FileSystemDebug) AddTimingFileSystem(tfs *TimingFileSystem)
func (*FileSystemDebug) GetAttr ¶
func (me *FileSystemDebug) GetAttr(path string) (*os.FileInfo, Status)
func (*FileSystemDebug) GetXAttr ¶
func (me *FileSystemDebug) GetXAttr(name string, attr string) ([]byte, Status)
type FileSystemOptions ¶
type FileSystemOptions struct { EntryTimeout float64 AttrTimeout float64 NegativeTimeout float64 // If set, replace all uids with given UID. NewFileSystemOptions() will set // this to the daemon's uid/gid. *Owner }
MountOptions contains time out options for a FileSystem. The default copied from libfuse and set in NewMountOptions() is (1s,1s,0s).
func NewFileSystemOptions ¶
func NewFileSystemOptions() *FileSystemOptions
type GcBufferPool ¶
type GcBufferPool struct { }
func NewGcBufferPool ¶
func NewGcBufferPool() *GcBufferPool
NewGcBufferPool is just a fallback to the standard allocation routines.
func (*GcBufferPool) AllocBuffer ¶
func (me *GcBufferPool) AllocBuffer(size uint32) []byte
func (*GcBufferPool) FreeBuffer ¶
func (me *GcBufferPool) FreeBuffer(slice []byte)
type GetXAttrIn ¶
type GetXAttrOut ¶
type InHeader ¶
type InterruptIn ¶
type InterruptIn struct {
Unique uint64
}
type LatencyArg ¶
type LatencyMap ¶
func NewLatencyMap ¶
func NewLatencyMap() *LatencyMap
func (*LatencyMap) AddMany ¶
func (me *LatencyMap) AddMany(args []LatencyArg)
func (*LatencyMap) Counts ¶
func (me *LatencyMap) Counts() map[string]int
func (*LatencyMap) Latencies ¶
func (me *LatencyMap) Latencies(unit float64) map[string]float64
Latencies returns a map. Use 1e-3 for unit to get ms results.
func (*LatencyMap) TopArgs ¶
func (me *LatencyMap) TopArgs(name string) []string
type LockingFileSystem ¶
type LockingFileSystem struct { // Should be public so people reusing can access the wrapped // FS. FileSystem // contains filtered or unexported fields }
This is a wrapper that makes a FileSystem threadsafe by trivially locking all operations. For improved performance, you should probably invent do your own locking inside the file system.
func NewLockingFileSystem ¶
func NewLockingFileSystem(pfs FileSystem) *LockingFileSystem
func (*LockingFileSystem) Access ¶
func (me *LockingFileSystem) Access(name string, mode uint32) (code Status)
func (*LockingFileSystem) Chmod ¶
func (me *LockingFileSystem) Chmod(name string, mode uint32) (code Status)
func (*LockingFileSystem) Chown ¶
func (me *LockingFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
func (*LockingFileSystem) GetAttr ¶
func (me *LockingFileSystem) GetAttr(name string) (*os.FileInfo, Status)
func (*LockingFileSystem) GetXAttr ¶
func (me *LockingFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
func (*LockingFileSystem) Link ¶
func (me *LockingFileSystem) Link(oldName string, newName string) (code Status)
func (*LockingFileSystem) ListXAttr ¶
func (me *LockingFileSystem) ListXAttr(name string) ([]string, Status)
func (*LockingFileSystem) Mkdir ¶
func (me *LockingFileSystem) Mkdir(name string, mode uint32) Status
func (*LockingFileSystem) Mknod ¶
func (me *LockingFileSystem) Mknod(name string, mode uint32, dev uint32) Status
func (*LockingFileSystem) Mount ¶
func (me *LockingFileSystem) Mount(conn *FileSystemConnector) Status
func (*LockingFileSystem) Open ¶
func (me *LockingFileSystem) Open(name string, flags uint32) (file File, code Status)
func (*LockingFileSystem) OpenDir ¶
func (me *LockingFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
func (*LockingFileSystem) Readlink ¶
func (me *LockingFileSystem) Readlink(name string) (string, Status)
func (*LockingFileSystem) RemoveXAttr ¶
func (me *LockingFileSystem) RemoveXAttr(name string, attr string) Status
func (*LockingFileSystem) Rename ¶
func (me *LockingFileSystem) Rename(oldName string, newName string) (code Status)
func (*LockingFileSystem) Rmdir ¶
func (me *LockingFileSystem) Rmdir(name string) (code Status)
func (*LockingFileSystem) Symlink ¶
func (me *LockingFileSystem) Symlink(value string, linkName string) (code Status)
func (*LockingFileSystem) Truncate ¶
func (me *LockingFileSystem) Truncate(name string, offset uint64) (code Status)
func (*LockingFileSystem) Unlink ¶
func (me *LockingFileSystem) Unlink(name string) (code Status)
func (*LockingFileSystem) Unmount ¶
func (me *LockingFileSystem) Unmount()
type LockingRawFileSystem ¶
type LockingRawFileSystem struct { RawFileSystem // contains filtered or unexported fields }
func NewLockingRawFileSystem ¶
func NewLockingRawFileSystem(rfs RawFileSystem) *LockingRawFileSystem
func (*LockingRawFileSystem) Access ¶
func (me *LockingRawFileSystem) Access(header *InHeader, input *AccessIn) (code Status)
func (*LockingRawFileSystem) Destroy ¶
func (me *LockingRawFileSystem) Destroy(h *InHeader, input *InitIn)
func (*LockingRawFileSystem) Flush ¶
func (me *LockingRawFileSystem) Flush(input *FlushIn) Status
func (*LockingRawFileSystem) Forget ¶
func (me *LockingRawFileSystem) Forget(h *InHeader, input *ForgetIn)
func (*LockingRawFileSystem) Fsync ¶
func (me *LockingRawFileSystem) Fsync(input *FsyncIn) (code Status)
func (*LockingRawFileSystem) FsyncDir ¶
func (me *LockingRawFileSystem) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
func (*LockingRawFileSystem) GetAttr ¶
func (me *LockingRawFileSystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
func (*LockingRawFileSystem) GetXAttr ¶
func (me *LockingRawFileSystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status)
func (*LockingRawFileSystem) ListXAttr ¶
func (me *LockingRawFileSystem) ListXAttr(header *InHeader) (data []byte, code Status)
func (*LockingRawFileSystem) Lookup ¶
func (me *LockingRawFileSystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status)
func (*LockingRawFileSystem) Read ¶
func (me *LockingRawFileSystem) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
func (*LockingRawFileSystem) ReadDir ¶
func (me *LockingRawFileSystem) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
func (*LockingRawFileSystem) Readlink ¶
func (me *LockingRawFileSystem) Readlink(header *InHeader) (out []byte, code Status)
func (*LockingRawFileSystem) Release ¶
func (me *LockingRawFileSystem) Release(header *InHeader, input *ReleaseIn)
func (*LockingRawFileSystem) ReleaseDir ¶
func (me *LockingRawFileSystem) ReleaseDir(header *InHeader, h *ReleaseIn)
func (*LockingRawFileSystem) RemoveXAttr ¶
func (me *LockingRawFileSystem) RemoveXAttr(header *InHeader, attr string) Status
func (*LockingRawFileSystem) Rmdir ¶
func (me *LockingRawFileSystem) Rmdir(header *InHeader, name string) (code Status)
func (*LockingRawFileSystem) SetAttr ¶
func (me *LockingRawFileSystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
func (*LockingRawFileSystem) SetXAttr ¶
func (me *LockingRawFileSystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status
type LoggingFileSystem ¶
type LoggingFileSystem struct {
FileSystem
}
LoggingFileSystem is a wrapper that prints out what a FileSystem is doing.
func NewLoggingFileSystem ¶
func NewLoggingFileSystem(fs FileSystem) *LoggingFileSystem
func (*LoggingFileSystem) Access ¶
func (me *LoggingFileSystem) Access(name string, mode uint32) (code Status)
func (*LoggingFileSystem) Chmod ¶
func (me *LoggingFileSystem) Chmod(name string, mode uint32) (code Status)
func (*LoggingFileSystem) Chown ¶
func (me *LoggingFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
func (*LoggingFileSystem) GetAttr ¶
func (me *LoggingFileSystem) GetAttr(name string) (*os.FileInfo, Status)
func (*LoggingFileSystem) GetXAttr ¶
func (me *LoggingFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
func (*LoggingFileSystem) Link ¶
func (me *LoggingFileSystem) Link(oldName string, newName string) (code Status)
func (*LoggingFileSystem) ListXAttr ¶
func (me *LoggingFileSystem) ListXAttr(name string) ([]string, Status)
func (*LoggingFileSystem) Mkdir ¶
func (me *LoggingFileSystem) Mkdir(name string, mode uint32) Status
func (*LoggingFileSystem) Mknod ¶
func (me *LoggingFileSystem) Mknod(name string, mode uint32, dev uint32) Status
func (*LoggingFileSystem) Mount ¶
func (me *LoggingFileSystem) Mount(conn *FileSystemConnector) Status
func (*LoggingFileSystem) Open ¶
func (me *LoggingFileSystem) Open(name string, flags uint32) (file File, code Status)
func (*LoggingFileSystem) OpenDir ¶
func (me *LoggingFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
func (*LoggingFileSystem) Print ¶
func (me *LoggingFileSystem) Print(name string, arg string)
func (*LoggingFileSystem) Readlink ¶
func (me *LoggingFileSystem) Readlink(name string) (string, Status)
func (*LoggingFileSystem) RemoveXAttr ¶
func (me *LoggingFileSystem) RemoveXAttr(name string, attr string) Status
func (*LoggingFileSystem) Rename ¶
func (me *LoggingFileSystem) Rename(oldName string, newName string) (code Status)
func (*LoggingFileSystem) Rmdir ¶
func (me *LoggingFileSystem) Rmdir(name string) (code Status)
func (*LoggingFileSystem) Symlink ¶
func (me *LoggingFileSystem) Symlink(value string, linkName string) (code Status)
func (*LoggingFileSystem) Truncate ¶
func (me *LoggingFileSystem) Truncate(name string, offset uint64) (code Status)
func (*LoggingFileSystem) Unlink ¶
func (me *LoggingFileSystem) Unlink(name string) (code Status)
func (*LoggingFileSystem) Unmount ¶
func (me *LoggingFileSystem) Unmount()
type LoopbackFile ¶
type LoopbackFile struct { DefaultFile // contains filtered or unexported fields }
LoopbackFile delegates all operations back to an underlying os.File.
func (*LoopbackFile) Chmod ¶
func (me *LoopbackFile) Chmod(mode uint32) Status
func (*LoopbackFile) Fsync ¶
func (me *LoopbackFile) Fsync(*FsyncIn) (code Status)
func (*LoopbackFile) Read ¶
func (me *LoopbackFile) Read(input *ReadIn, buffers BufferPool) ([]byte, Status)
func (*LoopbackFile) Release ¶
func (me *LoopbackFile) Release()
func (*LoopbackFile) Truncate ¶
func (me *LoopbackFile) Truncate(size uint64) Status
type LoopbackFileSystem ¶
type LoopbackFileSystem struct { Root string DefaultFileSystem }
func NewLoopbackFileSystem ¶
func NewLoopbackFileSystem(root string) (out *LoopbackFileSystem)
func (*LoopbackFileSystem) Access ¶
func (me *LoopbackFileSystem) Access(name string, mode uint32) (code Status)
func (*LoopbackFileSystem) Chmod ¶
func (me *LoopbackFileSystem) Chmod(path string, mode uint32) (code Status)
func (*LoopbackFileSystem) Chown ¶
func (me *LoopbackFileSystem) Chown(path string, uid uint32, gid uint32) (code Status)
func (*LoopbackFileSystem) GetAttr ¶
func (me *LoopbackFileSystem) GetAttr(name string) (*os.FileInfo, Status)
func (*LoopbackFileSystem) GetPath ¶
func (me *LoopbackFileSystem) GetPath(relPath string) string
func (*LoopbackFileSystem) GetXAttr ¶
func (me *LoopbackFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
func (*LoopbackFileSystem) Link ¶
func (me *LoopbackFileSystem) Link(orig string, newName string) (code Status)
func (*LoopbackFileSystem) ListXAttr ¶
func (me *LoopbackFileSystem) ListXAttr(name string) ([]string, Status)
func (*LoopbackFileSystem) Mkdir ¶
func (me *LoopbackFileSystem) Mkdir(path string, mode uint32) (code Status)
func (*LoopbackFileSystem) Mknod ¶
func (me *LoopbackFileSystem) Mknod(name string, mode uint32, dev uint32) (code Status)
func (*LoopbackFileSystem) Open ¶
func (me *LoopbackFileSystem) Open(name string, flags uint32) (fuseFile File, status Status)
func (*LoopbackFileSystem) OpenDir ¶
func (me *LoopbackFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
func (*LoopbackFileSystem) Readlink ¶
func (me *LoopbackFileSystem) Readlink(name string) (out string, code Status)
func (*LoopbackFileSystem) RemoveXAttr ¶
func (me *LoopbackFileSystem) RemoveXAttr(name string, attr string) Status
func (*LoopbackFileSystem) Rename ¶
func (me *LoopbackFileSystem) Rename(oldPath string, newPath string) (code Status)
func (*LoopbackFileSystem) Rmdir ¶
func (me *LoopbackFileSystem) Rmdir(name string) (code Status)
func (*LoopbackFileSystem) Symlink ¶
func (me *LoopbackFileSystem) Symlink(pointedTo string, linkName string) (code Status)
func (*LoopbackFileSystem) Truncate ¶
func (me *LoopbackFileSystem) Truncate(path string, offset uint64) (code Status)
func (*LoopbackFileSystem) Unlink ¶
func (me *LoopbackFileSystem) Unlink(name string) (code Status)
Don't use os.Remove, it removes twice (unlink followed by rmdir).
type MountOptions ¶
type MountOptions struct {
AllowOther bool
}
type MountState ¶
type MountState struct { // Dump debug info onto stdout. Debug bool *LatencyMap // contains filtered or unexported fields }
MountState contains the logic for reading from the FUSE device and translating it to RawFileSystem interface calls.
func NewMountState ¶
func NewMountState(fs RawFileSystem) *MountState
func (*MountState) BufferPoolStats ¶
func (me *MountState) BufferPoolStats() string
func (*MountState) KernelSettings ¶
func (me *MountState) KernelSettings() InitIn
func (*MountState) Latencies ¶
func (me *MountState) Latencies() map[string]float64
func (*MountState) Loop ¶
func (me *MountState) Loop(threaded bool)
Loop initiates the FUSE loop. Normally, callers should run Loop() and wait for it to exit, but tests will want to run this in a goroutine.
If threaded is given, each filesystem operation executes in a separate goroutine.
func (*MountState) Mount ¶
func (me *MountState) Mount(mountPoint string, opts *MountOptions) os.Error
Mount filesystem on mountPoint.
func (*MountState) MountPoint ¶
func (me *MountState) MountPoint() string
func (*MountState) OperationCounts ¶
func (me *MountState) OperationCounts() map[string]int
func (*MountState) SetRecordStatistics ¶
func (me *MountState) SetRecordStatistics(record bool)
func (*MountState) Unmount ¶
func (me *MountState) Unmount() os.Error
type NotifyCode ¶
type NotifyCode int
type NotifyInvalEntryOut ¶
type NotifyInvalInodeOut ¶
type NotifyPollWakeupOut ¶
type NotifyPollWakeupOut struct {
Kh uint64
}
type Owner ¶
func CurrentOwner ¶
func CurrentOwner() *Owner
type RawFileSystem ¶
type RawFileSystem interface { Destroy(h *InHeader, input *InitIn) Lookup(header *InHeader, name string) (out *EntryOut, status Status) Forget(header *InHeader, input *ForgetIn) // Attributes. GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status) // Modifying structure. Mknod(header *InHeader, input *MknodIn, name string) (out *EntryOut, code Status) Mkdir(header *InHeader, input *MkdirIn, name string) (out *EntryOut, code Status) Unlink(header *InHeader, name string) (code Status) Rmdir(header *InHeader, name string) (code Status) Rename(header *InHeader, input *RenameIn, oldName string, newName string) (code Status) Link(header *InHeader, input *LinkIn, filename string) (out *EntryOut, code Status) Symlink(header *InHeader, pointedTo string, linkName string) (out *EntryOut, code Status) Readlink(header *InHeader) (out []byte, code Status) Access(header *InHeader, input *AccessIn) (code Status) // Extended attributes. GetXAttr(header *InHeader, attr string) (data []byte, code Status) ListXAttr(header *InHeader) (attributes []byte, code Status) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status RemoveXAttr(header *InHeader, attr string) (code Status) // File handling. Create(header *InHeader, input *CreateIn, name string) (flags uint32, handle uint64, out *EntryOut, code Status) Open(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status) Read(*ReadIn, BufferPool) ([]byte, Status) Release(header *InHeader, input *ReleaseIn) Write(*WriteIn, []byte) (written uint32, code Status) Flush(*FlushIn) Status Fsync(*FsyncIn) (code Status) // Directory handling OpenDir(header *InHeader, input *OpenIn) (flags uint32, handle uint64, status Status) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status) ReleaseDir(header *InHeader, input *ReleaseIn) FsyncDir(header *InHeader, input *FsyncIn) (code Status) // Ioctl(header *InHeader, input *IoctlIn) (output *IoctlOut, data []byte, code Status) }
RawFileSystem is an interface closer to the FUSE wire protocol.
Unless you really know what you are doing, you should not implement this, but rather the FileSystem interface; the details of getting interactions with open files, renames, and threading right etc. are somewhat tricky and not very interesting.
Include DefaultRawFileSystem to inherit a null implementation.
type ReadOnlyFile ¶
type ReadOnlyFile struct { DefaultFile // contains filtered or unexported fields }
ReadOnlyFile is for implementing read-only filesystems. This assumes we already have the data in memory.
func NewReadOnlyFile ¶
func NewReadOnlyFile(data []byte) *ReadOnlyFile
func (*ReadOnlyFile) Read ¶
func (me *ReadOnlyFile) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
type SetXAttrIn ¶
type Status ¶
type Status int32
func CopyFile ¶
func CopyFile(srcFs, destFs FileSystem, srcFile, destFile string) Status
func OsErrorToErrno ¶
Convert os.Error back to Errno based errors.
type TimingFileSystem ¶
type TimingFileSystem struct { FileSystem *LatencyMap }
TimingFileSystem is a wrapper to collect timings for a FileSystem
func NewTimingFileSystem ¶
func NewTimingFileSystem(fs FileSystem) *TimingFileSystem
func (*TimingFileSystem) Access ¶
func (me *TimingFileSystem) Access(name string, mode uint32) (code Status)
func (*TimingFileSystem) Chmod ¶
func (me *TimingFileSystem) Chmod(name string, mode uint32) (code Status)
func (*TimingFileSystem) Chown ¶
func (me *TimingFileSystem) Chown(name string, uid uint32, gid uint32) (code Status)
func (*TimingFileSystem) GetAttr ¶
func (me *TimingFileSystem) GetAttr(name string) (*os.FileInfo, Status)
func (*TimingFileSystem) GetXAttr ¶
func (me *TimingFileSystem) GetXAttr(name string, attr string) ([]byte, Status)
func (*TimingFileSystem) HotPaths ¶
func (me *TimingFileSystem) HotPaths(operation string) (paths []string)
func (*TimingFileSystem) Latencies ¶
func (me *TimingFileSystem) Latencies() map[string]float64
func (*TimingFileSystem) Link ¶
func (me *TimingFileSystem) Link(oldName string, newName string) (code Status)
func (*TimingFileSystem) ListXAttr ¶
func (me *TimingFileSystem) ListXAttr(name string) ([]string, Status)
func (*TimingFileSystem) Mknod ¶
func (me *TimingFileSystem) Mknod(name string, mode uint32, dev uint32) Status
func (*TimingFileSystem) Mount ¶
func (me *TimingFileSystem) Mount(conn *FileSystemConnector) Status
func (*TimingFileSystem) Open ¶
func (me *TimingFileSystem) Open(name string, flags uint32) (file File, code Status)
func (*TimingFileSystem) OpenDir ¶
func (me *TimingFileSystem) OpenDir(name string) (stream chan DirEntry, status Status)
func (*TimingFileSystem) OperationCounts ¶
func (me *TimingFileSystem) OperationCounts() map[string]int
func (*TimingFileSystem) Readlink ¶
func (me *TimingFileSystem) Readlink(name string) (string, Status)
func (*TimingFileSystem) RemoveXAttr ¶
func (me *TimingFileSystem) RemoveXAttr(name string, attr string) Status
func (*TimingFileSystem) Rename ¶
func (me *TimingFileSystem) Rename(oldName string, newName string) (code Status)
func (*TimingFileSystem) Rmdir ¶
func (me *TimingFileSystem) Rmdir(name string) (code Status)
func (*TimingFileSystem) Symlink ¶
func (me *TimingFileSystem) Symlink(value string, linkName string) (code Status)
func (*TimingFileSystem) Truncate ¶
func (me *TimingFileSystem) Truncate(name string, offset uint64) (code Status)
func (*TimingFileSystem) Unlink ¶
func (me *TimingFileSystem) Unlink(name string) (code Status)
func (*TimingFileSystem) Unmount ¶
func (me *TimingFileSystem) Unmount()
type TimingRawFileSystem ¶
type TimingRawFileSystem struct { RawFileSystem *LatencyMap }
TimingRawFileSystem is a wrapper to collect timings for a RawFileSystem
func NewTimingRawFileSystem ¶
func NewTimingRawFileSystem(fs RawFileSystem) *TimingRawFileSystem
func (*TimingRawFileSystem) Access ¶
func (me *TimingRawFileSystem) Access(header *InHeader, input *AccessIn) (code Status)
func (*TimingRawFileSystem) Destroy ¶
func (me *TimingRawFileSystem) Destroy(h *InHeader, input *InitIn)
func (*TimingRawFileSystem) Flush ¶
func (me *TimingRawFileSystem) Flush(input *FlushIn) Status
func (*TimingRawFileSystem) Forget ¶
func (me *TimingRawFileSystem) Forget(h *InHeader, input *ForgetIn)
func (*TimingRawFileSystem) Fsync ¶
func (me *TimingRawFileSystem) Fsync(input *FsyncIn) (code Status)
func (*TimingRawFileSystem) FsyncDir ¶
func (me *TimingRawFileSystem) FsyncDir(header *InHeader, input *FsyncIn) (code Status)
func (*TimingRawFileSystem) GetAttr ¶
func (me *TimingRawFileSystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status)
func (*TimingRawFileSystem) GetXAttr ¶
func (me *TimingRawFileSystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status)
func (*TimingRawFileSystem) Latencies ¶
func (me *TimingRawFileSystem) Latencies() map[string]float64
func (*TimingRawFileSystem) ListXAttr ¶
func (me *TimingRawFileSystem) ListXAttr(header *InHeader) (data []byte, code Status)
func (*TimingRawFileSystem) Lookup ¶
func (me *TimingRawFileSystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status)
func (*TimingRawFileSystem) Read ¶
func (me *TimingRawFileSystem) Read(input *ReadIn, bp BufferPool) ([]byte, Status)
func (*TimingRawFileSystem) ReadDir ¶
func (me *TimingRawFileSystem) ReadDir(header *InHeader, input *ReadIn) (*DirEntryList, Status)
func (*TimingRawFileSystem) Readlink ¶
func (me *TimingRawFileSystem) Readlink(header *InHeader) (out []byte, code Status)
func (*TimingRawFileSystem) Release ¶
func (me *TimingRawFileSystem) Release(header *InHeader, input *ReleaseIn)
func (*TimingRawFileSystem) ReleaseDir ¶
func (me *TimingRawFileSystem) ReleaseDir(header *InHeader, input *ReleaseIn)
func (*TimingRawFileSystem) RemoveXAttr ¶
func (me *TimingRawFileSystem) RemoveXAttr(header *InHeader, attr string) Status
func (*TimingRawFileSystem) Rmdir ¶
func (me *TimingRawFileSystem) Rmdir(header *InHeader, name string) (code Status)
func (*TimingRawFileSystem) SetAttr ¶
func (me *TimingRawFileSystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status)
func (*TimingRawFileSystem) SetXAttr ¶
func (me *TimingRawFileSystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status