Merge pull request #2514 from rhatdan/windows

Allow libcontainer/configs to be imported on Windows
This commit is contained in:
Mrunal Patel 2020-07-08 14:00:54 -07:00 committed by GitHub
commit ce54a9d4d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 12 deletions

View File

@ -1,20 +1,15 @@
package configs package configs
import ( import (
"errors"
"fmt" "fmt"
"os" "os"
"strconv" "strconv"
"golang.org/x/sys/unix"
) )
const ( const (
Wildcard = -1 Wildcard = -1
) )
// TODO Windows: This can be factored out in the future
type Device struct { type Device struct {
DeviceRule DeviceRule
@ -173,10 +168,3 @@ func (d *DeviceRule) CgroupString() string {
} }
return fmt.Sprintf("%c %s:%s %s", d.Type, major, minor, d.Permissions) return fmt.Sprintf("%c %s:%s %s", d.Type, major, minor, d.Permissions)
} }
func (d *DeviceRule) Mkdev() (uint64, error) {
if d.Major == Wildcard || d.Minor == Wildcard {
return 0, errors.New("cannot mkdev() device with wildcards")
}
return unix.Mkdev(uint32(d.Major), uint32(d.Minor)), nil
}

View File

@ -0,0 +1,16 @@
// +build !windows
package configs
import (
"errors"
"golang.org/x/sys/unix"
)
func (d *DeviceRule) Mkdev() (uint64, error) {
if d.Major == Wildcard || d.Minor == Wildcard {
return 0, errors.New("cannot mkdev() device with wildcards")
}
return unix.Mkdev(uint32(d.Major), uint32(d.Minor)), nil
}

View File

@ -0,0 +1,5 @@
package configs
func (d *DeviceRule) Mkdev() (uint64, error) {
return 0, nil
}