diff --git a/snapshots/native/native.go b/snapshots/native/native.go index ba3a40e10..81d3deb4a 100644 --- a/snapshots/native/native.go +++ b/snapshots/native/native.go @@ -327,12 +327,9 @@ func (o *snapshotter) mounts(s storage.Snapshot) []mount.Mount { return []mount.Mount{ { - Source: source, - Type: "bind", - Options: []string{ - roFlag, - "rbind", - }, + Source: source, + Type: mountType, + Options: append(defaultMountOptions, roFlag), }, } } diff --git a/snapshots/native/native_default.go b/snapshots/native/native_default.go new file mode 100644 index 000000000..ee594baae --- /dev/null +++ b/snapshots/native/native_default.go @@ -0,0 +1,23 @@ +// +build !freebsd + +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package native + +const mountType = "bind" + +var defaultMountOptions = []string{"rbind"} diff --git a/snapshots/native/native_freebsd.go b/snapshots/native/native_freebsd.go new file mode 100644 index 000000000..b97eb8815 --- /dev/null +++ b/snapshots/native/native_freebsd.go @@ -0,0 +1,23 @@ +// +build freebsd + +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package native + +const mountType = "nullfs" + +var defaultMountOptions = []string{}