-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libcontainer: configs: ensure can build on darwin
Let's move some of the Linux specific bits to a Linux specific file. Signed-off-by: Eric Ernst <eric_ernst@apple.com>
- Loading branch information
Showing
3 changed files
with
70 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,7 @@ | ||
package configs | ||
|
||
import "golang.org/x/sys/unix" | ||
|
||
const ( | ||
// EXT_COPYUP is a directive to copy up the contents of a directory when | ||
// a tmpfs is mounted over it. | ||
EXT_COPYUP = 1 << iota //nolint:golint // ignore "don't use ALL_CAPS" warning | ||
) | ||
|
||
type Mount struct { | ||
// Source path for the mount. | ||
Source string `json:"source"` | ||
|
||
// Destination path for the mount inside the container. | ||
Destination string `json:"destination"` | ||
|
||
// Device the mount is for. | ||
Device string `json:"device"` | ||
|
||
// Mount flags. | ||
Flags int `json:"flags"` | ||
|
||
// Propagation Flags | ||
PropagationFlags []int `json:"propagation_flags"` | ||
|
||
// Mount data applied to the mount. | ||
Data string `json:"data"` | ||
|
||
// Relabel source if set, "z" indicates shared, "Z" indicates unshared. | ||
Relabel string `json:"relabel"` | ||
|
||
// RecAttr represents mount properties to be applied recursively (AT_RECURSIVE), see mount_setattr(2). | ||
RecAttr *unix.MountAttr `json:"rec_attr"` | ||
|
||
// Extensions are additional flags that are specific to runc. | ||
Extensions int `json:"extensions"` | ||
} | ||
|
||
func (m *Mount) IsBind() bool { | ||
return m.Flags&unix.MS_BIND != 0 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package configs | ||
|
||
import "golang.org/x/sys/unix" | ||
|
||
type Mount struct { | ||
// Source path for the mount. | ||
Source string `json:"source"` | ||
|
||
// Destination path for the mount inside the container. | ||
Destination string `json:"destination"` | ||
|
||
// Device the mount is for. | ||
Device string `json:"device"` | ||
|
||
// Mount flags. | ||
Flags int `json:"flags"` | ||
|
||
// Propagation Flags | ||
PropagationFlags []int `json:"propagation_flags"` | ||
|
||
// Mount data applied to the mount. | ||
Data string `json:"data"` | ||
|
||
// Relabel source if set, "z" indicates shared, "Z" indicates unshared. | ||
Relabel string `json:"relabel"` | ||
|
||
// RecAttr represents mount properties to be applied recursively (AT_RECURSIVE), see mount_setattr(2). | ||
RecAttr *unix.MountAttr `json:"rec_attr"` | ||
|
||
// Extensions are additional flags that are specific to runc. | ||
Extensions int `json:"extensions"` | ||
} | ||
|
||
func (m *Mount) IsBind() bool { | ||
return m.Flags&unix.MS_BIND != 0 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
//go:build !linux | ||
// +build !linux | ||
|
||
package configs | ||
|
||
type Mount struct { | ||
// Source path for the mount. | ||
Source string `json:"source"` | ||
|
||
// Destination path for the mount inside the container. | ||
Destination string `json:"destination"` | ||
|
||
// Device the mount is for. | ||
Device string `json:"device"` | ||
|
||
// Mount flags. | ||
Flags int `json:"flags"` | ||
|
||
// Propagation Flags | ||
PropagationFlags []int `json:"propagation_flags"` | ||
|
||
// Mount data applied to the mount. | ||
Data string `json:"data"` | ||
|
||
// Relabel source if set, "z" indicates shared, "Z" indicates unshared. | ||
Relabel string `json:"relabel"` | ||
|
||
// Extensions are additional flags that are specific to runc. | ||
Extensions int `json:"extensions"` | ||
} | ||
|
||
func (m *Mount) IsBind() bool { | ||
return false | ||
} |