From c3dd7a3924c056f4a8df0820f58089d9d32b8a94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Tue, 8 Sep 2020 15:21:44 +0200 Subject: [PATCH] make linter happy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- pkg/storage/fs/ocis/node.go | 9 +++++---- pkg/storage/fs/ocis/ocis.go | 10 +++++++--- pkg/storage/fs/ocis/tree.go | 15 ++++++++++----- pkg/storage/fs/ocis/upload.go | 3 ++- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/pkg/storage/fs/ocis/node.go b/pkg/storage/fs/ocis/node.go index a68c164a73..8c958c83d9 100644 --- a/pkg/storage/fs/ocis/node.go +++ b/pkg/storage/fs/ocis/node.go @@ -63,7 +63,7 @@ func (n *Node) CreateDir(pw PathWrapper, name string, owner *userpb.UserId) (c * return nil, errors.Wrap(err, "ocisfs: error creating node child dir") } - c.writeMetadata(nodePath, owner) + err = c.writeMetadata(nodePath, owner) c.Exists = true return @@ -231,11 +231,12 @@ func (n *Node) AsResourceInfo(ctx context.Context) (ri *provider.ResourceInfo, e if fi, err = os.Lstat(nodePath); err != nil { return } - if fi.IsDir() { + switch { + case fi.IsDir(): nodeType = provider.ResourceType_RESOURCE_TYPE_CONTAINER - } else if fi.Mode().IsRegular() { + case fi.Mode().IsRegular(): nodeType = provider.ResourceType_RESOURCE_TYPE_FILE - } else if fi.Mode()&os.ModeSymlink != 0 { + case fi.Mode()&os.ModeSymlink != 0: nodeType = provider.ResourceType_RESOURCE_TYPE_SYMLINK // TODO reference using ext attr on a symlink // nodeType = provider.ResourceType_RESOURCE_TYPE_REFERENCE diff --git a/pkg/storage/fs/ocis/ocis.go b/pkg/storage/fs/ocis/ocis.go index 5791f979b2..0d0d076d6c 100644 --- a/pkg/storage/fs/ocis/ocis.go +++ b/pkg/storage/fs/ocis/ocis.go @@ -48,8 +48,10 @@ const ( // SharePrefix is the prefix for sharing related extended attributes sharePrefix string = "user.ocis.acl." - favPrefix string = "user.ocis.fav." // favorite flag, per user - etagPrefix string = "user.ocis.etag." // allow overriding a calculated etag with one from the extended attributes + // TODO implement favorites metadata flag + //favPrefix string = "user.ocis.fav." // favorite flag, per user + // TODO use etag prefix instead of single etag property + //etagPrefix string = "user.ocis.etag." // allow overriding a calculated etag with one from the extended attributes //checksumPrefix string = "user.ocis.cs." // TODO add checksum support ) @@ -171,7 +173,9 @@ func (fs *ocisfs) CreateHome(ctx context.Context) error { // create a directory node nodeID := uuid.New().String() - fs.tp.CreateRoot(nodeID, u.Id) + if _, err = fs.tp.CreateRoot(nodeID, u.Id); err != nil { + return err + } // link users home to node return os.Symlink("../nodes/"+nodeID, home) diff --git a/pkg/storage/fs/ocis/tree.go b/pkg/storage/fs/ocis/tree.go index acabe0c638..76b4bb806e 100644 --- a/pkg/storage/fs/ocis/tree.go +++ b/pkg/storage/fs/ocis/tree.go @@ -29,12 +29,12 @@ import ( userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" + "github.com/cs3org/reva/pkg/appctx" "github.com/cs3org/reva/pkg/errtypes" "github.com/cs3org/reva/pkg/user" "github.com/google/uuid" "github.com/pkg/errors" "github.com/pkg/xattr" - "github.com/rs/zerolog/log" ) // Tree manages a hierarchical tree @@ -44,10 +44,10 @@ type Tree struct { } // NewTree creates a new Tree instance -func NewTree(pw PathWrapper, Root string) (TreePersistence, error) { +func NewTree(pw PathWrapper, root string) (TreePersistence, error) { return &Tree{ pw: pw, - Root: Root, + Root: root, }, nil } @@ -90,7 +90,7 @@ func (t *Tree) CreateRoot(id string, owner *userpb.UserId) (n *Node, err error) return nil, errors.Wrap(err, "ocisfs: error creating root node dir") } - n.writeMetadata(nodePath, owner) + err = n.writeMetadata(nodePath, owner) n.Exists = true return @@ -128,7 +128,8 @@ func (t *Tree) CreateDir(ctx context.Context, node *Node) (err error) { return errors.Wrap(err, "ocisfs: could not set owner idp attribute") } } else { - // TODO no user in context, log as error when home enabled + log := appctx.GetLogger(ctx) + log.Error().Msg("home enabled but no user in context") } // make child appear in listings @@ -228,6 +229,9 @@ func (t *Tree) ListFolder(ctx context.Context, node *Node) ([]*Node, error) { } names, err := f.Readdirnames(0) + if err != nil { + return nil, err + } nodes := []*Node{} for i := range names { link, err := os.Readlink(filepath.Join(dir, names[i])) @@ -288,6 +292,7 @@ func (t *Tree) Propagate(ctx context.Context, node *Node) (err error) { etag := hex.EncodeToString(bytes) for err == nil && !node.IsRoot() { if err := xattr.Set(filepath.Join(t.Root, "nodes", node.ID), "user.ocis.etag", []byte(etag)); err != nil { + log := appctx.GetLogger(ctx) log.Error().Err(err).Msg("error storing file id") } // TODO propagate mtime diff --git a/pkg/storage/fs/ocis/upload.go b/pkg/storage/fs/ocis/upload.go index e372b7f4c4..3d43aa7931 100644 --- a/pkg/storage/fs/ocis/upload.go +++ b/pkg/storage/fs/ocis/upload.go @@ -379,7 +379,8 @@ func (upload *fileUpload) FinishUpload(ctx context.Context) error { return errors.Wrap(err, "ocisfs: could not set owner idp attribute") } } else { - // TODO no user in context, log as error when home enabled + log := appctx.GetLogger(upload.ctx) + log.Error().Msg("home enabled but no user in context") } // link child name to parent if it is new