On Sat, Jan 22, 2022 at 12:10:35 +0800, yshxxsjt715@xxxxxxxxx wrote: > From: shenjiatong <yshxxsjt715@xxxxxxxxx> > > When trying to attach vhost-user-blk device to virtual > machine using libvirt 7.8 and qemu 4.2. Libvirt mistakenly > add a scsi=off parameter which is not supported by Qemu > > Signed-off-by: shenjiatong <yshxxsjt715@xxxxxxxxx> > --- > src/qemu/qemu_command.c | 6 +++++- > .../qemuxml2argvdata/disk-vhostuser-numa.x86_64-4.2.0.args | 4 ++-- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 662d15e28e..cdf89fc74c 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -2253,11 +2253,15 @@ qemuBuildDiskDeviceProps(const virDomainDef *def, > "S:iothread", iothread, > "T:ioeventfd", disk->ioeventfd, > "T:event_idx", disk->event_idx, > - "T:scsi", scsi, Rather than moving this line out of the formatter, > "p:num-queues", disk->queues, > "p:queue-size", disk->queue_size, > NULL) < 0) > return NULL; > + > + if (virStorageSourceGetActualType(disk->src) != VIR_STORAGE_TYPE_VHOST_USER) { > + if (virJSONValueObjectAdd(&props, "T:scsi", scsi, NULL) < 0) you can simply skip the code that assigns VIR_TRISTATE_SWITCH_ON/OFF to the 'scsi' value. By default the formatter doesn't print anything for the _ABSENT case. If you don't mind I can do that before pushing so you don't have to send another round.