mirror of
https://github.com/containers/podman.git
synced 2025-11-29 17:48:05 +08:00
Merge pull request #27545 from dfr/freebsd-linux-devices
pkg/specgen/generate: Fix adding host devices on FreeBSD
This commit is contained in:
@@ -50,28 +50,6 @@ func SpecGenToOCI(ctx context.Context, s *specgen.SpecGenerator, rt *libpod.Runt
|
||||
g.AddAnnotation(key, val)
|
||||
}
|
||||
|
||||
// Devices
|
||||
var userDevices []spec.LinuxDevice
|
||||
if !s.IsPrivileged() {
|
||||
// add default devices from containers.conf
|
||||
for _, device := range rtc.Containers.Devices.Get() {
|
||||
if err = DevicesFromPath(&g, device, rtc); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if len(compatibleOptions.HostDeviceList) > 0 && len(s.Devices) == 0 {
|
||||
userDevices = compatibleOptions.HostDeviceList
|
||||
} else {
|
||||
userDevices = s.Devices
|
||||
}
|
||||
// add default devices specified by caller
|
||||
for _, device := range userDevices {
|
||||
if err = DevicesFromPath(&g, device.Path, rtc); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
g.ClearProcessEnv()
|
||||
for name, val := range s.Env {
|
||||
g.AddProcessEnv(name, val)
|
||||
@@ -134,6 +112,28 @@ func SpecGenToOCI(ctx context.Context, s *specgen.SpecGenerator, rt *libpod.Runt
|
||||
configSpec.Mounts = mounts
|
||||
}
|
||||
|
||||
// Devices
|
||||
var userDevices []spec.LinuxDevice
|
||||
if !s.IsPrivileged() {
|
||||
// add default devices from containers.conf
|
||||
for _, device := range rtc.Containers.Devices.Get() {
|
||||
if err = DevicesFromPath(&g, device, rtc); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if len(compatibleOptions.HostDeviceList) > 0 && len(s.Devices) == 0 {
|
||||
userDevices = compatibleOptions.HostDeviceList
|
||||
} else {
|
||||
userDevices = s.Devices
|
||||
}
|
||||
// add default devices specified by caller
|
||||
for _, device := range userDevices {
|
||||
if err = DevicesFromPath(&g, device.Path, rtc); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// BIND MOUNTS
|
||||
configSpec.Mounts = SupersedeUserMounts(mounts, configSpec.Mounts)
|
||||
// Process mounts to ensure correct options
|
||||
|
||||
Reference in New Issue
Block a user