diff --git a/src/runtime/pkg/govmm/qemu/qemu.go b/src/runtime/pkg/govmm/qemu/qemu.go index 420b5c45e8..f0beeb9c85 100644 --- a/src/runtime/pkg/govmm/qemu/qemu.go +++ b/src/runtime/pkg/govmm/qemu/qemu.go @@ -2705,9 +2705,14 @@ func (config *Config) appendQMPSockets() { } } -func (config *Config) appendDevices() { +func (config *Config) appendDevices(logger QMPLog) { + if logger == nil { + logger = qmpNullLogger{} + } + for _, d := range config.Devices { if !d.Valid() { + logger.Errorf("vm device is not valid: %+v", config.Devices) continue } @@ -2982,7 +2987,7 @@ func LaunchQemu(config Config, logger QMPLog) (string, error) { config.appendCPUModel() config.appendQMPSockets() config.appendMemory() - config.appendDevices() + config.appendDevices(logger) config.appendRTC() config.appendGlobalParam() config.appendPFlashParam() diff --git a/src/runtime/pkg/govmm/qemu/qemu_test.go b/src/runtime/pkg/govmm/qemu/qemu_test.go index 501c07fdf1..01ca765c50 100644 --- a/src/runtime/pkg/govmm/qemu/qemu_test.go +++ b/src/runtime/pkg/govmm/qemu/qemu_test.go @@ -34,7 +34,7 @@ func testConfigAppend(config *Config, structure interface{}, expected string, t case Device: config.Devices = []Device{s} - config.appendDevices() + config.appendDevices(nil) case Knobs: config.Knobs = s @@ -889,7 +889,7 @@ func TestBadQMPSockets(t *testing.T) { func TestBadDevices(t *testing.T) { c := &Config{} - c.appendDevices() + c.appendDevices(nil) if len(c.qemuParams) != 0 { t.Errorf("Expected empty qemuParams, found %s", c.qemuParams) } @@ -941,7 +941,7 @@ func TestBadDevices(t *testing.T) { }, } - c.appendDevices() + c.appendDevices(nil) if len(c.qemuParams) != 0 { t.Errorf("Expected empty qemuParams, found %s", c.qemuParams) }