Reorganize mount/unmount code so it is easier to add Darwin-specific implementation
After these changes, in order to add Darwin bind-mount implementation, one only needs: * Adjust HasBindMounts definition in mount.go * Provide implementation in mount_darwin.go There was no consensus on adding dependency on bindfs, that seems to be the only working solution for bind-mounts on Darwin as of today, in https://github.com/containerd/containerd/pull/8789, that's why the actual implementation is not added in current PR. As a bonus, Linux FUSE-related code was moved to a separate file and possibly could be reused on FreeBSD, though this needs testing. Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
//go:build darwin || openbsd
|
||||
//go:build openbsd
|
||||
|
||||
/*
|
||||
Copyright The containerd Authors.
|
||||
@@ -18,29 +18,24 @@
|
||||
|
||||
package mount
|
||||
|
||||
import "errors"
|
||||
|
||||
var (
|
||||
// ErrNotImplementOnUnix is returned for methods that are not implemented
|
||||
ErrNotImplementOnUnix = errors.New("not implemented under unix")
|
||||
)
|
||||
import "github.com/containerd/errdefs"
|
||||
|
||||
// Mount is not implemented on this platform
|
||||
func (m *Mount) mount(target string) error {
|
||||
return ErrNotImplementOnUnix
|
||||
return errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
// Unmount is not implemented on this platform
|
||||
func Unmount(mount string, flags int) error {
|
||||
return ErrNotImplementOnUnix
|
||||
return errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
// UnmountAll is not implemented on this platform
|
||||
func UnmountAll(mount string, flags int) error {
|
||||
return ErrNotImplementOnUnix
|
||||
return errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
// UnmountRecursive is not implemented on this platform
|
||||
func UnmountRecursive(mount string, flags int) error {
|
||||
return ErrNotImplementOnUnix
|
||||
return errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user