Documentation ¶
Overview ¶
Package fuse contains core fuse-related code. Uses SQLBackend interface to implement fs operations
Index ¶
- Variables
- func InitializeDB(dsn string) error
- func MountFS(dsn, mountpoint string) error
- func VerifyDB(dsn string) error
- type Dir
- func (d *Dir) Attr(ctx context.Context, attr *fuse.Attr) (err error)
- func (d *Dir) Create(ctx context.Context, req *fuse.CreateRequest, res *fuse.CreateResponse) (fs.Node, fs.Handle, error)
- func (d *Dir) Lookup(ctx context.Context, req *fuse.LookupRequest, res *fuse.LookupResponse) (fs.Node, error)
- func (d *Dir) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error)
- func (d *Dir) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)
- func (d *Dir) Remove(ctx context.Context, req *fuse.RemoveRequest) error
- func (d *Dir) Setattr(ctx context.Context, req *fuse.SetattrRequest, res *fuse.SetattrResponse) error
- type FS
- type File
- type FileHandle
Constants ¶
This section is empty.
Variables ¶
var Backend sqlutils.SQLBackend
Backend should set from outside. No defaults
Functions ¶
func InitializeDB ¶
InitializeDB creates the tables and initial rows necessary for the fs to function
Types ¶
type Dir ¶
type Dir struct {
// contains filtered or unexported fields
}
Dir represents a on fs
func (*Dir) Create ¶
func (d *Dir) Create(ctx context.Context, req *fuse.CreateRequest, res *fuse.CreateResponse) (fs.Node, fs.Handle, error)
Create creates a file under Dir d
func (*Dir) Lookup ¶
func (d *Dir) Lookup(ctx context.Context, req *fuse.LookupRequest, res *fuse.LookupResponse) (fs.Node, error)
Lookup performs a directory lookup in Dir d based on name
func (*Dir) ReadDirAll ¶
ReadDirAll returns all entries in the Dir d
func (*Dir) Setattr ¶
func (d *Dir) Setattr(ctx context.Context, req *fuse.SetattrRequest, res *fuse.SetattrResponse) error
Setattr updates the metadata table on db based on req
type FS ¶
type FS struct {
// contains filtered or unexported fields
}
FS represents the file system itself
type File ¶
type File struct {
// contains filtered or unexported fields
}
File represents a file on fs
func (*File) Open ¶
func (f *File) Open(ctx context.Context, req *fuse.OpenRequest, res *fuse.OpenResponse) (fs.Handle, error)
Open file (to get FileHandle)
func (*File) Setattr ¶
func (f *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, res *fuse.SetattrResponse) error
Setattr updates the metadata table on db based on req
type FileHandle ¶
type FileHandle struct {
// contains filtered or unexported fields
}
FileHandle contains information about an open file on fs
func (*FileHandle) Read ¶
func (fh *FileHandle) Read(ctx context.Context, req *fuse.ReadRequest, res *fuse.ReadResponse) error
Read reads from the FileHandle, fh
NOTE: this is in a very bad state currently, need
to split the file into blocks to make it better
func (*FileHandle) Release ¶
func (fh *FileHandle) Release(ctx context.Context, req *fuse.ReleaseRequest) error
Release file handle
func (*FileHandle) Write ¶
func (fh *FileHandle) Write(ctx context.Context, req *fuse.WriteRequest, res *fuse.WriteResponse) error
Write writes to a FileHandle, fh