summaryrefslogtreecommitdiff
path: root/vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go')
-rw-r--r--vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go36
1 files changed, 18 insertions, 18 deletions
diff --git a/vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go b/vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go
index 5dabe06ce..702f913ec 100644
--- a/vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go
+++ b/vendor/github.com/opencontainers/runc/libcontainer/devices/devices.go
@@ -31,33 +31,33 @@ func DeviceFromPath(path, permissions string) (*configs.Device, error) {
}
var (
+ devType configs.DeviceType
+ mode = stat.Mode
devNumber = uint64(stat.Rdev)
major = unix.Major(devNumber)
minor = unix.Minor(devNumber)
)
- if major == 0 {
- return nil, ErrNotADevice
- }
-
- var (
- devType rune
- mode = stat.Mode
- )
switch {
case mode&unix.S_IFBLK == unix.S_IFBLK:
- devType = 'b'
+ devType = configs.BlockDevice
case mode&unix.S_IFCHR == unix.S_IFCHR:
- devType = 'c'
+ devType = configs.CharDevice
+ case mode&unix.S_IFIFO == unix.S_IFIFO:
+ devType = configs.FifoDevice
+ default:
+ return nil, ErrNotADevice
}
return &configs.Device{
- Type: devType,
- Path: path,
- Major: int64(major),
- Minor: int64(minor),
- Permissions: permissions,
- FileMode: os.FileMode(mode),
- Uid: stat.Uid,
- Gid: stat.Gid,
+ DeviceRule: configs.DeviceRule{
+ Type: devType,
+ Major: int64(major),
+ Minor: int64(minor),
+ Permissions: configs.DevicePermissions(permissions),
+ },
+ Path: path,
+ FileMode: os.FileMode(mode),
+ Uid: stat.Uid,
+ Gid: stat.Gid,
}, nil
}