Re: [PATCH v2] hw/core: Allow setting 'virtio-blk-device.scsi' property on OSX host

2020-02-07 Thread Stefan Hajnoczi
On Fri, Feb 07, 2020 at 01:14:04AM +0100, Philippe Mathieu-Daudé wrote:
> Commit ed65fd1a2750 ("virtio-blk: switch off scsi-passthrough by
> default") changed the default value of the 'scsi' property of
> virtio-blk, which is only available on Linux hosts. It also added
> an unconditional compat entry for 2.4 or earlier machines.
> 
> Trying to set this property on a pre-2.5 machine on OSX, we get:
> 
>Unexpected error in object_property_find() at qom/object.c:1201:
>qemu-system-x86_64: -device virtio-blk-pci,id=scsi0,drive=drive0: can't 
> apply global virtio-blk-device.scsi=true: Property '.scsi' not found
> 
> Fix this error by marking the property optional.
> 
> Fixes: ed65fd1a27 ("virtio-blk: switch off scsi-passthrough by default")
> Suggested-by: Cornelia Huck 
> Reviewed-by: Cornelia Huck 
> Signed-off-by: Philippe Mathieu-Daudé 
> ---
> v2: Reworded description (Cornelia)
> 
> Extracted from testing series:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg675074.html
> ---
>  hw/core/machine.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block

Stefan


signature.asc
Description: PGP signature


Re: [PATCH v2] hw/core: Allow setting 'virtio-blk-device.scsi' property on OSX host

2020-02-06 Thread Michael S. Tsirkin
On Fri, Feb 07, 2020 at 01:14:04AM +0100, Philippe Mathieu-Daudé wrote:
> Commit ed65fd1a2750 ("virtio-blk: switch off scsi-passthrough by
> default") changed the default value of the 'scsi' property of
> virtio-blk, which is only available on Linux hosts. It also added
> an unconditional compat entry for 2.4 or earlier machines.
> 
> Trying to set this property on a pre-2.5 machine on OSX, we get:
> 
>Unexpected error in object_property_find() at qom/object.c:1201:
>qemu-system-x86_64: -device virtio-blk-pci,id=scsi0,drive=drive0: can't 
> apply global virtio-blk-device.scsi=true: Property '.scsi' not found
> 
> Fix this error by marking the property optional.
> 
> Fixes: ed65fd1a27 ("virtio-blk: switch off scsi-passthrough by default")
> Suggested-by: Cornelia Huck 
> Reviewed-by: Cornelia Huck 
> Signed-off-by: Philippe Mathieu-Daudé 

Reviewed-by: Michael S. Tsirkin 

Stefan I think this makes sense in your tree same as
the original patch it's fixing. Right?

> ---
> v2: Reworded description (Cornelia)
> 
> Extracted from testing series:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg675074.html
> ---
>  hw/core/machine.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 3e288bfceb..d8e30e4895 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -148,7 +148,8 @@ GlobalProperty hw_compat_2_5[] = {
>  const size_t hw_compat_2_5_len = G_N_ELEMENTS(hw_compat_2_5);
>  
>  GlobalProperty hw_compat_2_4[] = {
> -{ "virtio-blk-device", "scsi", "true" },
> +/* Optional because the 'scsi' property is Linux-only */
> +{ "virtio-blk-device", "scsi", "true", .optional = true },
>  { "e1000", "extra_mac_registers", "off" },
>  { "virtio-pci", "x-disable-pcie", "on" },
>  { "virtio-pci", "migrate-extra", "off" },
> -- 
> 2.21.1




[PATCH v2] hw/core: Allow setting 'virtio-blk-device.scsi' property on OSX host

2020-02-06 Thread Philippe Mathieu-Daudé
Commit ed65fd1a2750 ("virtio-blk: switch off scsi-passthrough by
default") changed the default value of the 'scsi' property of
virtio-blk, which is only available on Linux hosts. It also added
an unconditional compat entry for 2.4 or earlier machines.

Trying to set this property on a pre-2.5 machine on OSX, we get:

   Unexpected error in object_property_find() at qom/object.c:1201:
   qemu-system-x86_64: -device virtio-blk-pci,id=scsi0,drive=drive0: can't 
apply global virtio-blk-device.scsi=true: Property '.scsi' not found

Fix this error by marking the property optional.

Fixes: ed65fd1a27 ("virtio-blk: switch off scsi-passthrough by default")
Suggested-by: Cornelia Huck 
Reviewed-by: Cornelia Huck 
Signed-off-by: Philippe Mathieu-Daudé 
---
v2: Reworded description (Cornelia)

Extracted from testing series:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg675074.html
---
 hw/core/machine.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/core/machine.c b/hw/core/machine.c
index 3e288bfceb..d8e30e4895 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -148,7 +148,8 @@ GlobalProperty hw_compat_2_5[] = {
 const size_t hw_compat_2_5_len = G_N_ELEMENTS(hw_compat_2_5);
 
 GlobalProperty hw_compat_2_4[] = {
-{ "virtio-blk-device", "scsi", "true" },
+/* Optional because the 'scsi' property is Linux-only */
+{ "virtio-blk-device", "scsi", "true", .optional = true },
 { "e1000", "extra_mac_registers", "off" },
 { "virtio-pci", "x-disable-pcie", "on" },
 { "virtio-pci", "migrate-extra", "off" },
-- 
2.21.1