More annotating
This commit is contained in:
parent
0e97d3f8f1
commit
b6afe85166
@ -130,6 +130,7 @@ func (db *database) lastVersion() *version {
|
|||||||
return db.vers[count-1]
|
return db.vers[count-1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FS
|
||||||
func (db *database) Root() (fs.Node, error) {
|
func (db *database) Root() (fs.Node, error) {
|
||||||
return db.lastVersion().root, nil
|
return db.lastVersion().root, nil
|
||||||
}
|
}
|
||||||
|
32
dir.go
32
dir.go
@ -106,6 +106,7 @@ func (vd *versionedDir) createFile(name string, flags int) (*versionedFile, erro
|
|||||||
return file, nil
|
return file, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Node
|
||||||
func (vd *versionedDir) Attr(ctx context.Context, attr *fuse.Attr) error {
|
func (vd *versionedDir) Attr(ctx context.Context, attr *fuse.Attr) error {
|
||||||
if err := vd.node.attr(attr); err != nil {
|
if err := vd.node.attr(attr); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -115,15 +116,18 @@ func (vd *versionedDir) Attr(ctx context.Context, attr *fuse.Attr) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeGetattrer
|
||||||
func (vd *versionedDir) Getattr(ctx context.Context, req *fuse.GetattrRequest, resp *fuse.GetattrResponse) error {
|
func (vd *versionedDir) Getattr(ctx context.Context, req *fuse.GetattrRequest, resp *fuse.GetattrResponse) error {
|
||||||
return vd.Attr(ctx, &resp.Attr)
|
return vd.Attr(ctx, &resp.Attr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeSetattrer
|
||||||
func (vd *versionedDir) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error {
|
func (vd *versionedDir) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error {
|
||||||
vd.version()
|
vd.version()
|
||||||
return vd.node.setAttr(req, resp)
|
return vd.node.setAttr(req, resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeCreater
|
||||||
func (vd *versionedDir) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (node fs.Node, handle fs.Handle, err error) {
|
func (vd *versionedDir) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (node fs.Node, handle fs.Handle, err error) {
|
||||||
if req.Mode.IsDir() {
|
if req.Mode.IsDir() {
|
||||||
var dir *versionedDir
|
var dir *versionedDir
|
||||||
@ -144,10 +148,12 @@ func (vd *versionedDir) Create(ctx context.Context, req *fuse.CreateRequest, res
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeMkdirer
|
||||||
func (vd *versionedDir) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error) {
|
func (vd *versionedDir) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error) {
|
||||||
return vd.createDir(req.Name)
|
return vd.createDir(req.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeRemover
|
||||||
func (vd *versionedDir) Remove(ctx context.Context, req *fuse.RemoveRequest) error {
|
func (vd *versionedDir) Remove(ctx context.Context, req *fuse.RemoveRequest) error {
|
||||||
if req.Dir {
|
if req.Dir {
|
||||||
node := vd.dirs[req.Name].node
|
node := vd.dirs[req.Name].node
|
||||||
@ -182,6 +188,20 @@ func (vd *versionedDir) Remove(ctx context.Context, req *fuse.RemoveRequest) err
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NodeRequestLookuper
|
||||||
|
func (vd *versionedDir) Lookup(ctx context.Context, name string) (fs.Node, error) {
|
||||||
|
if dir, ok := vd.dirs[name]; ok {
|
||||||
|
return dir, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if file, ok := vd.files[name]; ok {
|
||||||
|
return file, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, fuse.ENOENT
|
||||||
|
}
|
||||||
|
|
||||||
|
// HandleReadDirAller
|
||||||
func (vd *versionedDir) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) {
|
func (vd *versionedDir) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) {
|
||||||
entries := []fuse.Dirent{{Inode: vd.inode, Name: ".", Type: fuse.DT_Dir}}
|
entries := []fuse.Dirent{{Inode: vd.inode, Name: ".", Type: fuse.DT_Dir}}
|
||||||
if vd.parent != nil {
|
if vd.parent != nil {
|
||||||
@ -201,15 +221,3 @@ func (vd *versionedDir) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) {
|
|||||||
|
|
||||||
return entries, nil
|
return entries, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (vd *versionedDir) Lookup(ctx context.Context, name string) (fs.Node, error) {
|
|
||||||
if dir, ok := vd.dirs[name]; ok {
|
|
||||||
return dir, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if file, ok := vd.files[name]; ok {
|
|
||||||
return file, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, fuse.ENOENT
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user