diff --git a/virtcontainers/capabilities.go b/virtcontainers/capabilities.go index 8760c99691..6eb34c3b81 100644 --- a/virtcontainers/capabilities.go +++ b/virtcontainers/capabilities.go @@ -8,6 +8,7 @@ package virtcontainers const ( blockDeviceSupport = 1 << iota blockDeviceHotplugSupport + multiQueueSupport ) type capabilities struct { @@ -35,3 +36,14 @@ func (caps *capabilities) isBlockDeviceHotplugSupported() bool { func (caps *capabilities) setBlockDeviceHotplugSupport() { caps.flags |= blockDeviceHotplugSupport } + +func (caps *capabilities) isMultiQueueSupported() bool { + if caps.flags&multiQueueSupport != 0 { + return true + } + return false +} + +func (caps *capabilities) setMultiQueueSupport() { + caps.flags |= multiQueueSupport +} diff --git a/virtcontainers/qemu_amd64.go b/virtcontainers/qemu_amd64.go index 5eb002ff26..8dfddde932 100644 --- a/virtcontainers/qemu_amd64.go +++ b/virtcontainers/qemu_amd64.go @@ -108,6 +108,8 @@ func (q *qemuAmd64) capabilities() capabilities { caps.setBlockDeviceHotplugSupport() } + caps.setMultiQueueSupport() + return caps } diff --git a/virtcontainers/qemu_arch_base.go b/virtcontainers/qemu_arch_base.go index 63f5065538..864edfe376 100644 --- a/virtcontainers/qemu_arch_base.go +++ b/virtcontainers/qemu_arch_base.go @@ -237,6 +237,7 @@ func (q *qemuArchBase) kernelParameters(debug bool) []Param { func (q *qemuArchBase) capabilities() capabilities { var caps capabilities caps.setBlockDeviceHotplugSupport() + caps.setMultiQueueSupport() return caps } diff --git a/virtcontainers/qemu_ppc64le.go b/virtcontainers/qemu_ppc64le.go index 6b5d8b654a..05d37ce755 100644 --- a/virtcontainers/qemu_ppc64le.go +++ b/virtcontainers/qemu_ppc64le.go @@ -94,6 +94,8 @@ func (q *qemuPPC64le) capabilities() capabilities { caps.setBlockDeviceHotplugSupport() } + caps.setMultiQueueSupport() + return caps }