Skip to content

Commit c46cbf2

Browse files
committed
fusemanager: resolve review comments
Signed-off-by: Shuo Wang <[email protected]>
1 parent 56f4a47 commit c46cbf2

File tree

6 files changed

+18
-15
lines changed

6 files changed

+18
-15
lines changed

cmd/containerd-stargz-grpc/fsopts/fsopts.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ func ConfigFsOpts(ctx context.Context, rootDir string, config *Config) ([]fs.Opt
5151
mt, err := getMetadataStore(rootDir, config)
5252
if err != nil {
5353
log.G(ctx).WithError(err).Fatalf("failed to configure metadata store")
54+
return nil, err
5455
}
5556
fsOpts = append(fsOpts, fs.WithMetadataStore(mt))
5657

cmd/containerd-stargz-grpc/main.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,11 @@ func main() {
159159
}
160160
fmAddr := config.FuseManagerAddress
161161
if fmAddr == "" {
162-
var err error
163-
fmAddr, err = exec.LookPath(fuseManagerAddress)
164-
if err != nil {
165-
fmAddr = defaultFuseManagerAddress
166-
}
162+
fmAddr = defaultFuseManagerAddress
163+
}
164+
165+
if !filepath.IsAbs(fmAddr) {
166+
log.G(ctx).WithError(err).Fatalf("fuse manager address must be an absolute path: %s", fmAddr)
167167
}
168168
err := service.StartFuseManager(ctx, fmPath, fmAddr, filepath.Join(*rootDir, "fusestore.db"), *logLevel, filepath.Join(*rootDir, "stargz-fuse-manager.log"))
169169
if err != nil {

cmd/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ require (
2222
github.com/opencontainers/image-spec v1.1.0
2323
github.com/opencontainers/runtime-spec v1.2.0
2424
github.com/pelletier/go-toml v1.9.5
25-
github.com/pkg/errors v0.9.1
2625
github.com/rs/xid v1.6.0
2726
github.com/sirupsen/logrus v1.9.3
2827
github.com/urfave/cli/v2 v2.27.5

cmd/stargz-fuse-manager/fusemanager/fusemanager.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"syscall"
3030

3131
"github.com/containerd/log"
32-
"github.com/pkg/errors"
3332
"github.com/sirupsen/logrus"
3433
"golang.org/x/sys/unix"
3534
"google.golang.org/grpc"
@@ -136,10 +135,10 @@ func startNew(ctx context.Context, logPath, address, fusestore, logLevel string)
136135

137136
if ready, err := waitUntilReady(ctx); err != nil || !ready {
138137
if err != nil {
139-
return errors.Wrapf(err, "failed to start new fusemanager")
138+
return fmt.Errorf("failed to start new fusemanager: %w", err)
140139
}
141140
if !ready {
142-
return errors.Errorf("failed to start new fusemanager, fusemanager not ready")
141+
return fmt.Errorf("failed to start new fusemanager, fusemanager not ready")
143142
}
144143
}
145144

@@ -170,6 +169,7 @@ func runFuseManager(ctx context.Context) error {
170169
lvl, err := logrus.ParseLevel(logLevel)
171170
if err != nil {
172171
log.L.WithError(err).Fatal("failed to prepare logger")
172+
return err
173173
}
174174

175175
logrus.SetLevel(lvl)

cmd/stargz-fuse-manager/fusemanager/service.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929

3030
"github.com/containerd/log"
3131
"github.com/moby/sys/mountinfo"
32-
"github.com/pkg/errors"
3332
bolt "go.etcd.io/bbolt"
3433
"google.golang.org/grpc"
3534

@@ -48,9 +47,9 @@ const (
4847

4948
type Config struct {
5049
Config *service.Config
51-
IPFS bool
52-
MetadataStore string
53-
DefaultImageServiceAddress string
50+
IPFS bool `toml:"ipfs"`
51+
MetadataStore string `toml:"metadata_store" default:"memory"`
52+
DefaultImageServiceAddress string `json:"default_image_service_address"`
5453
}
5554

5655
type Server struct {
@@ -78,12 +77,12 @@ type Server struct {
7877

7978
func NewFuseManager(ctx context.Context, listener net.Listener, server *grpc.Server, fuseStoreAddr string) (*Server, error) {
8079
if err := os.MkdirAll(filepath.Dir(fuseStoreAddr), 0700); err != nil {
81-
return nil, errors.Wrapf(err, "failed to create directory %q", filepath.Dir(fuseStoreAddr))
80+
return nil, fmt.Errorf("failed to create directory %q: %w", filepath.Dir(fuseStoreAddr), err)
8281
}
8382

8483
db, err := bolt.Open(fuseStoreAddr, 0666, &bolt.Options{Timeout: 10 * time.Second, ReadOnly: false})
8584
if err != nil {
86-
return nil, errors.Wrap(err, "failed to configure fusestore")
85+
return nil, fmt.Errorf("failed to configure fusestore: %w", err)
8786
}
8887

8988
fm := &Server{
@@ -139,6 +138,7 @@ func (fm *Server) Init(ctx context.Context, req *pb.InitRequest) (*pb.Response,
139138
credsFuncs, err := keychainconfig.ConfigKeychain(ctx, fm.server, &keyChainConfig)
140139
if err != nil {
141140
log.G(ctx).WithError(err).Fatalf("failed to configure keychain")
141+
return &pb.Response{}, err
142142
}
143143

144144
fsConfig := fsopts.Config{
@@ -148,6 +148,7 @@ func (fm *Server) Init(ctx context.Context, req *pb.InitRequest) (*pb.Response,
148148
fsOpts, err := fsopts.ConfigFsOpts(ctx, fm.root, &fsConfig)
149149
if err != nil {
150150
log.G(ctx).WithError(err).Fatalf("failed to configure fs config")
151+
return &pb.Response{}, err
151152
}
152153

153154
opts := []service.Option{service.WithCredsFuncs(credsFuncs...), service.WithFilesystemOptions(fsOpts...)}

service/service.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ func NewStargzSnapshotterService(ctx context.Context, root string, config *Confi
7272
fs, err := NewFileSystem(ctx, root, config, opts...)
7373
if err != nil {
7474
log.G(ctx).WithError(err).Fatalf("failed to configure filesystem")
75+
return nil, err
7576
}
7677

7778
var snapshotter snapshots.Snapshotter
@@ -84,6 +85,7 @@ func NewStargzSnapshotterService(ctx context.Context, root string, config *Confi
8485
snapshotter, err = snbase.NewSnapshotter(ctx, snapshotterRoot(root), fs, snOpts...)
8586
if err != nil {
8687
log.G(ctx).WithError(err).Fatalf("failed to create new snapshotter")
88+
return nil, err
8789
}
8890

8991
return snapshotter, err

0 commit comments

Comments
 (0)