Skip to content

Commit 2575a73

Browse files
authored
Merge pull request #4573 from teemuteemu/separate-devmapper-plugin
Separate devmapper plugin
2 parents d6774b6 + 71fd68a commit 2575a73

3 files changed

Lines changed: 53 additions & 29 deletions

File tree

cmd/containerd/builtins_devmapper_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@
1818

1919
package main
2020

21-
import _ "github.com/containerd/containerd/snapshots/devmapper"
21+
import _ "github.com/containerd/containerd/snapshots/devmapper/plugin"
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// +build linux
2+
3+
/*
4+
Copyright The containerd Authors.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
*/
18+
19+
package plugin
20+
21+
import (
22+
"github.com/containerd/containerd/platforms"
23+
"github.com/containerd/containerd/plugin"
24+
"github.com/containerd/containerd/snapshots/devmapper"
25+
"github.com/pkg/errors"
26+
)
27+
28+
func init() {
29+
plugin.Register(&plugin.Registration{
30+
Type: plugin.SnapshotPlugin,
31+
ID: "devmapper",
32+
Config: &devmapper.Config{},
33+
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
34+
ic.Meta.Platforms = append(ic.Meta.Platforms, platforms.DefaultSpec())
35+
36+
config, ok := ic.Config.(*devmapper.Config)
37+
if !ok {
38+
return nil, errors.New("invalid devmapper configuration")
39+
}
40+
41+
if config.PoolName == "" {
42+
return nil, errors.New("devmapper not configured")
43+
}
44+
45+
if config.RootPath == "" {
46+
config.RootPath = ic.Root
47+
}
48+
49+
return devmapper.NewSnapshotter(ic.Context, config)
50+
},
51+
})
52+
}

snapshots/devmapper/snapshotter.go

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ import (
3030
"github.com/containerd/containerd/errdefs"
3131
"github.com/containerd/containerd/log"
3232
"github.com/containerd/containerd/mount"
33-
"github.com/containerd/containerd/platforms"
34-
"github.com/containerd/containerd/plugin"
3533
"github.com/containerd/containerd/snapshots"
3634
"github.com/containerd/containerd/snapshots/devmapper/dmsetup"
3735
"github.com/containerd/containerd/snapshots/storage"
@@ -40,32 +38,6 @@ import (
4038
"github.com/sirupsen/logrus"
4139
)
4240

43-
func init() {
44-
plugin.Register(&plugin.Registration{
45-
Type: plugin.SnapshotPlugin,
46-
ID: "devmapper",
47-
Config: &Config{},
48-
InitFn: func(ic *plugin.InitContext) (interface{}, error) {
49-
ic.Meta.Platforms = append(ic.Meta.Platforms, platforms.DefaultSpec())
50-
51-
config, ok := ic.Config.(*Config)
52-
if !ok {
53-
return nil, errors.New("invalid devmapper configuration")
54-
}
55-
56-
if config.PoolName == "" {
57-
return nil, errors.New("devmapper not configured")
58-
}
59-
60-
if config.RootPath == "" {
61-
config.RootPath = ic.Root
62-
}
63-
64-
return NewSnapshotter(ic.Context, config)
65-
},
66-
})
67-
}
68-
6941
const (
7042
metadataFileName = "metadata.db"
7143
fsTypeExt4 = "ext4"

0 commit comments

Comments
 (0)