1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-07-02 03:28:25 +08:00

implements check and fixed argument ordering

This commit is contained in:
Henry
2015-02-28 14:28:24 +01:00
parent faef01a17e
commit 335caf0bc7
2 changed files with 37 additions and 12 deletions

View File

@ -360,7 +360,7 @@ func (s *Node) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, ctx context.
return err // may be non-nil / not succeeded
}
func (n *Node) Write(req *fuse.WriteRequest, resp *fuse.WriteResponse, ctx context.Context) error {
func (n *Node) Write(ctx context.Context, req *fuse.WriteRequest, resp *fuse.WriteResponse) error {
// log.Debugf("ipns: Node Write [%s]: flags = %s, offset = %d, size = %d", n.name, req.Flags.String(), req.Offset, len(req.Data))
if IpnsReadonly {
log.Debug("Attempted to write on readonly ipns filesystem.")
@ -383,7 +383,7 @@ func (n *Node) Write(req *fuse.WriteRequest, resp *fuse.WriteResponse, ctx conte
return nil
}
func (n *Node) Flush(req *fuse.FlushRequest, ctx context.Context) error {
func (n *Node) Flush(ctx context.Context, req *fuse.FlushRequest) error {
if IpnsReadonly {
return nil
}
@ -470,11 +470,11 @@ func (n *Node) republishRoot() error {
return nil
}
func (n *Node) Fsync(req *fuse.FsyncRequest, ctx context.Context) error {
func (n *Node) Fsync(ctx context.Context, req *fuse.FsyncRequest) error {
return nil
}
func (n *Node) Mkdir(req *fuse.MkdirRequest, ctx context.Context) (fs.Node, error) {
func (n *Node) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error) {
if IpnsReadonly {
return nil, fuse.EPERM
}
@ -508,7 +508,7 @@ func (n *Node) Mkdir(req *fuse.MkdirRequest, ctx context.Context) (fs.Node, erro
return child, nil
}
func (n *Node) Open(req *fuse.OpenRequest, resp *fuse.OpenResponse, ctx context.Context) (fs.Handle, error) {
func (n *Node) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error) {
//log.Debug("[%s] Received open request! flags = %s", n.name, req.Flags.String())
//TODO: check open flags and truncate if necessary
if req.Flags&fuse.OpenTruncate != 0 {
@ -521,11 +521,11 @@ func (n *Node) Open(req *fuse.OpenRequest, resp *fuse.OpenResponse, ctx context.
return n, nil
}
func (n *Node) Mknod(req *fuse.MknodRequest, ctx context.Context) (fs.Node, error) {
func (n *Node) Mknod(ctx context.Context, req *fuse.MknodRequest) (fs.Node, error) {
return nil, nil
}
func (n *Node) Create(req *fuse.CreateRequest, resp *fuse.CreateResponse, ctx context.Context) (fs.Node, fs.Handle, error) {
func (n *Node) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (fs.Node, fs.Handle, error) {
if IpnsReadonly {
log.Debug("Attempted to call Create on a readonly filesystem.")
return nil, nil, fuse.EPERM
@ -555,7 +555,7 @@ func (n *Node) Create(req *fuse.CreateRequest, resp *fuse.CreateResponse, ctx co
return child, child, nil
}
func (n *Node) Remove(req *fuse.RemoveRequest, ctx context.Context) error {
func (n *Node) Remove(ctx context.Context, req *fuse.RemoveRequest) error {
if IpnsReadonly {
return fuse.EPERM
}
@ -578,7 +578,7 @@ func (n *Node) Remove(req *fuse.RemoveRequest, ctx context.Context) error {
return nil
}
func (n *Node) Rename(req *fuse.RenameRequest, newDir fs.Node, ctx context.Context) error {
func (n *Node) Rename(ctx context.Context, req *fuse.RenameRequest, newDir fs.Node) error {
if IpnsReadonly {
log.Debug("Attempted to call Rename on a readonly filesystem.")
return fuse.EPERM
@ -625,3 +625,19 @@ func (n *Node) update(name string, newnode *mdag.Node) error {
n.Nd = nnode
return nil
}
// to check that out Node implements all the interfaces we want
type ipnsNode interface {
fs.Node
fs.HandleWriter
fs.HandleFlusher
fs.NodeFsyncer
fs.NodeMkdirer
fs.NodeOpener
fs.NodeMknoder
fs.NodeCreater
fs.NodeRemover
fs.NodeRenamer
}
var _ ipnsNode = (*Node)(nil)

View File

@ -50,7 +50,7 @@ func (*Root) Attr() fuse.Attr {
}
// Lookup performs a lookup under this node.
func (s *Root) Lookup(name string, ctx context.Context) (fs.Node, error) {
func (s *Root) Lookup(ctx context.Context, name string) (fs.Node, error) {
log.Debugf("Root Lookup: '%s'", name)
switch name {
case "mach_kernel", ".hidden", "._.":
@ -116,7 +116,7 @@ func (s *Node) Attr() fuse.Attr {
}
// Lookup performs a lookup under this node.
func (s *Node) Lookup(name string, ctx context.Context) (fs.Node, error) {
func (s *Node) Lookup(ctx context.Context, name string) (fs.Node, error) {
log.Debugf("Lookup '%s'", name)
nodes, err := s.Ipfs.Resolver.ResolveLinks(s.Nd, []string{name})
if err != nil {
@ -145,7 +145,7 @@ func (s *Node) ReadDir(ctx context.Context) ([]fuse.Dirent, error) {
return nil, fuse.ENOENT
}
func (s *Node) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, ctx context.Context) error {
func (s *Node) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error {
k, err := s.Nd.Key()
if err != nil {
@ -178,3 +178,12 @@ func (s *Node) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, ctx context.
lm["res_size"] = n
return nil // may be non-nil / not succeeded
}
// to check that out Node implements all the interfaces we want
type roNode interface {
fs.Node
fs.NodeStringLookuper
fs.HandleReader
}
var _ roNode = (*Node)(nil)