Documentation ¶
Index ¶
- Constants
- type ContinuousDirtyPages
- type ContinuousIntervals
- type Dir
- func (dir *Dir) Access(ctx context.Context, req *fuse.AccessRequest) error
- func (dir *Dir) Attr(ctx context.Context, attr *fuse.Attr) error
- func (dir *Dir) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (fs.Node, fs.Handle, error)
- func (dir *Dir) Forget()
- func (dir *Dir) Fsync(ctx context.Context, req *fuse.FsyncRequest) error
- func (dir *Dir) FullPath() string
- func (dir *Dir) Getxattr(ctx context.Context, req *fuse.GetxattrRequest, resp *fuse.GetxattrResponse) error
- func (dir *Dir) Link(ctx context.Context, req *fuse.LinkRequest, old fs.Node) (fs.Node, error)
- func (dir *Dir) Listxattr(ctx context.Context, req *fuse.ListxattrRequest, resp *fuse.ListxattrResponse) error
- func (dir *Dir) Lookup(ctx context.Context, req *fuse.LookupRequest, resp *fuse.LookupResponse) (node fs.Node, err error)
- func (dir *Dir) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error)
- func (dir *Dir) ReadDirAll(ctx context.Context) (ret []fuse.Dirent, err error)
- func (dir *Dir) Remove(ctx context.Context, req *fuse.RemoveRequest) error
- func (dir *Dir) Removexattr(ctx context.Context, req *fuse.RemovexattrRequest) error
- func (dir *Dir) Rename(ctx context.Context, req *fuse.RenameRequest, newDirectory fs.Node) error
- func (dir *Dir) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error
- func (dir *Dir) Setxattr(ctx context.Context, req *fuse.SetxattrRequest) error
- func (dir *Dir) Symlink(ctx context.Context, req *fuse.SymlinkRequest) (fs.Node, error)
- type File
- func (file *File) Access(ctx context.Context, req *fuse.AccessRequest) error
- func (file *File) Attr(ctx context.Context, attr *fuse.Attr) error
- func (file *File) Forget()
- func (file *File) Fsync(ctx context.Context, req *fuse.FsyncRequest) error
- func (file *File) Getxattr(ctx context.Context, req *fuse.GetxattrRequest, resp *fuse.GetxattrResponse) error
- func (file *File) Listxattr(ctx context.Context, req *fuse.ListxattrRequest, resp *fuse.ListxattrResponse) error
- func (file *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error)
- func (file *File) Readlink(ctx context.Context, req *fuse.ReadlinkRequest) (string, error)
- func (file *File) Removexattr(ctx context.Context, req *fuse.RemovexattrRequest) error
- func (file *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error
- func (file *File) Setxattr(ctx context.Context, req *fuse.SetxattrRequest) error
- type FileHandle
- func (fh *FileHandle) Flush(ctx context.Context, req *fuse.FlushRequest) error
- func (fh *FileHandle) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error
- func (fh *FileHandle) Release(ctx context.Context, req *fuse.ReleaseRequest) error
- func (fh *FileHandle) Write(ctx context.Context, req *fuse.WriteRequest, resp *fuse.WriteResponse) error
- type FsCache
- func (c *FsCache) DeleteFsNode(path util.FullPath)
- func (c *FsCache) EnsureFsNode(path util.FullPath, genNodeFn func() fs.Node) fs.Node
- func (c *FsCache) GetFsNode(path util.FullPath) fs.Node
- func (c *FsCache) Move(oldPath util.FullPath, newPath util.FullPath) *FsNode
- func (c *FsCache) SetFsNode(path util.FullPath, node fs.Node)
- type FsNode
- type IntervalLinkedList
- type IntervalNode
- type Option
- type WFS
- func (wfs *WFS) AcquireHandle(file *File, uid, gid uint32) (fileHandle *FileHandle)
- func (wfs *WFS) AdjustedUrl(location *filer_pb.Location) string
- func (wfs *WFS) ReleaseHandle(fullpath util.FullPath, handleId fuse.HandleID)
- func (wfs *WFS) Root() (fs.Node, error)
- func (wfs *WFS) Statfs(ctx context.Context, req *fuse.StatfsRequest, resp *fuse.StatfsResponse) error
- func (wfs *WFS) WithFilerClient(fn func(filer_pb.SeaweedFilerClient) error) error
Constants ¶
View Source
const (
HARD_LINK_MARKER = '\x01'
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContinuousDirtyPages ¶
type ContinuousDirtyPages struct {
// contains filtered or unexported fields
}
func (*ContinuousDirtyPages) AddPage ¶
func (pages *ContinuousDirtyPages) AddPage(offset int64, data []byte)
func (*ContinuousDirtyPages) ReadDirtyDataAt ¶
func (pages *ContinuousDirtyPages) ReadDirtyDataAt(data []byte, startOffset int64) (maxStop int64)
type ContinuousIntervals ¶
type ContinuousIntervals struct {
// contains filtered or unexported fields
}
func (*ContinuousIntervals) AddInterval ¶
func (c *ContinuousIntervals) AddInterval(data []byte, offset int64)
func (*ContinuousIntervals) ReadDataAt ¶
func (c *ContinuousIntervals) ReadDataAt(data []byte, startOffset int64) (maxStop int64)
func (*ContinuousIntervals) RemoveLargestIntervalLinkedList ¶
func (c *ContinuousIntervals) RemoveLargestIntervalLinkedList() *IntervalLinkedList
func (*ContinuousIntervals) TotalSize ¶
func (c *ContinuousIntervals) TotalSize() (total int64)
type Dir ¶
type Dir struct {
// contains filtered or unexported fields
}
func (*Dir) Getxattr ¶
func (dir *Dir) Getxattr(ctx context.Context, req *fuse.GetxattrRequest, resp *fuse.GetxattrResponse) error
func (*Dir) Listxattr ¶
func (dir *Dir) Listxattr(ctx context.Context, req *fuse.ListxattrRequest, resp *fuse.ListxattrResponse) error
func (*Dir) Lookup ¶
func (dir *Dir) Lookup(ctx context.Context, req *fuse.LookupRequest, resp *fuse.LookupResponse) (node fs.Node, err error)
func (*Dir) ReadDirAll ¶
func (*Dir) Removexattr ¶
func (*Dir) Setattr ¶
func (dir *Dir) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error
type File ¶
type File struct { Name string // contains filtered or unexported fields }
func (*File) Getxattr ¶
func (file *File) Getxattr(ctx context.Context, req *fuse.GetxattrRequest, resp *fuse.GetxattrResponse) error
func (*File) Listxattr ¶
func (file *File) Listxattr(ctx context.Context, req *fuse.ListxattrRequest, resp *fuse.ListxattrResponse) error
func (*File) Open ¶
func (file *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error)
func (*File) Removexattr ¶
func (*File) Setattr ¶
func (file *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error
type FileHandle ¶
type FileHandle struct { sync.RWMutex RequestId fuse.RequestID // unique ID for request NodeId fuse.NodeID // file or directory the request is about Uid uint32 // user ID of process making request Gid uint32 // group ID of process making request // contains filtered or unexported fields }
func (*FileHandle) Flush ¶
func (fh *FileHandle) Flush(ctx context.Context, req *fuse.FlushRequest) error
func (*FileHandle) Read ¶
func (fh *FileHandle) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error
func (*FileHandle) Release ¶
func (fh *FileHandle) Release(ctx context.Context, req *fuse.ReleaseRequest) error
func (*FileHandle) Write ¶
func (fh *FileHandle) Write(ctx context.Context, req *fuse.WriteRequest, resp *fuse.WriteResponse) error
Write to the file handle
type FsCache ¶
func (*FsCache) DeleteFsNode ¶
func (*FsCache) EnsureFsNode ¶
type IntervalLinkedList ¶
type IntervalLinkedList struct { Head *IntervalNode Tail *IntervalNode }
func (*IntervalLinkedList) Offset ¶
func (list *IntervalLinkedList) Offset() int64
func (*IntervalLinkedList) ReadData ¶
func (list *IntervalLinkedList) ReadData(buf []byte, start, stop int64)
func (*IntervalLinkedList) Size ¶
func (list *IntervalLinkedList) Size() int64
func (*IntervalLinkedList) ToReader ¶
func (l *IntervalLinkedList) ToReader() io.Reader
type IntervalNode ¶
type IntervalNode struct { Data []byte Offset int64 Size int64 Next *IntervalNode }
type Option ¶
type Option struct { FilerGrpcAddress string GrpcDialOption grpc.DialOption FilerMountRootPath string Collection string Replication string TtlSec int32 ChunkSizeLimit int64 CacheDir string CacheSizeMB int64 DataCenter string EntryCacheTtl time.Duration Umask os.FileMode MountUid uint32 MountGid uint32 MountMode os.FileMode MountCtime time.Time MountMtime time.Time OutsideContainerClusterMode bool // whether the mount runs outside SeaweedFS containers Cipher bool // whether encrypt data on volume server UidGidMapper *meta_cache.UidGidMapper }
type WFS ¶
type WFS struct {
// contains filtered or unexported fields
}
func NewSeaweedFileSystem ¶
func (*WFS) AcquireHandle ¶
func (wfs *WFS) AcquireHandle(file *File, uid, gid uint32) (fileHandle *FileHandle)
func (*WFS) ReleaseHandle ¶
func (*WFS) Statfs ¶
func (wfs *WFS) Statfs(ctx context.Context, req *fuse.StatfsRequest, resp *fuse.StatfsResponse) error
Statfs is called to obtain file system metadata. Implements fuse.FSStatfser
func (*WFS) WithFilerClient ¶
func (wfs *WFS) WithFilerClient(fn func(filer_pb.SeaweedFilerClient) error) error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.