Skip to content

Commit

Permalink
make linter happy
Browse files Browse the repository at this point in the history
Signed-off-by: Jörn Friedrich Dreyer <[email protected]>
  • Loading branch information
butonic committed Sep 8, 2020
1 parent e0587cc commit c3dd7a3
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 13 deletions.
9 changes: 5 additions & 4 deletions pkg/storage/fs/ocis/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
10 changes: 7 additions & 3 deletions pkg/storage/fs/ocis/ocis.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
)

Expand Down Expand Up @@ -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)
Expand Down
15 changes: 10 additions & 5 deletions pkg/storage/fs/ocis/tree.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
}

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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]))
Expand Down Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion pkg/storage/fs/ocis/upload.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit c3dd7a3

Please sign in to comment.