diff options
author | Cosmin Tupangiu <cosmin@redhat.com> | 2022-05-18 10:46:45 +0200 |
---|---|---|
committer | Cosmin Tupangiu <cosmin@redhat.com> | 2022-05-18 10:46:45 +0200 |
commit | f5c8c0911306661f062a8297eac0aee7deeac6f8 (patch) | |
tree | 6496a1c3b612262fe725ee1c4f8af5114afc0d1f /pkg/specgen/generate/kube/volume.go | |
parent | 0c9b0e2aa7dd57efe780754dafd9bdadc086c51f (diff) | |
download | podman-f5c8c0911306661f062a8297eac0aee7deeac6f8.tar.gz podman-f5c8c0911306661f062a8297eac0aee7deeac6f8.tar.bz2 podman-f5c8c0911306661f062a8297eac0aee7deeac6f8.zip |
add tests and fix bug when char device pass the test as block device
- add test
- fix bug when a character device set in a volume as a block device
is seen as block device in _pkg/specgen/generate/kube/volume.go_.
At this stage the type does not matter much because the devices are
recreated at lower layer but the bug allowed a CharDevice volume to be
passed to lower layer as a BlockDevice.
Signed-off-by: Cosmin Tupangiu <cosmin@redhat.com>
Diffstat (limited to 'pkg/specgen/generate/kube/volume.go')
-rw-r--r-- | pkg/specgen/generate/kube/volume.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/pkg/specgen/generate/kube/volume.go b/pkg/specgen/generate/kube/volume.go index 2fc63fc7c..1d6d49b9d 100644 --- a/pkg/specgen/generate/kube/volume.go +++ b/pkg/specgen/generate/kube/volume.go @@ -85,8 +85,8 @@ func VolumeFromHostPath(hostPath *v1.HostPathVolumeSource) (*KubeVolume, error) if err != nil { return nil, errors.Wrap(err, "error checking HostPathBlockDevice") } - if dev.Mode()&os.ModeDevice != os.ModeDevice { - return nil, errors.Errorf("checking HosPathDevice: path %s is not a block device", hostPath.Path) + if dev.Mode()&os.ModeCharDevice == os.ModeCharDevice { + return nil, errors.Errorf("checking HostPathDevice: path %s is not a block device", hostPath.Path) } return &KubeVolume{ Type: KubeVolumeTypeBlockDevice, @@ -98,7 +98,7 @@ func VolumeFromHostPath(hostPath *v1.HostPathVolumeSource) (*KubeVolume, error) return nil, errors.Wrap(err, "error checking HostPathCharDevice") } if dev.Mode()&os.ModeCharDevice != os.ModeCharDevice { - return nil, errors.Errorf("checking HosPathCharDevice: path %s is not a character device", hostPath.Path) + return nil, errors.Errorf("checking HostPathCharDevice: path %s is not a character device", hostPath.Path) } return &KubeVolume{ Type: KubeVolumeTypeCharDevice, |