On Wed, Apr 20, 2022 at 8:23 PM Paolo Bonzini <pbonz...@redhat.com> wrote:

> vhost-scsi and vhost-user-scsi are two devices of their own; it should
> be possible to enable/disable them with --without-default-devices, not
> --without-default-features.  Compute their default value in Kconfig to
> obtain the more intuitive behavior.
>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
>

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>



> ---
>  configure                       | 15 ---------------
>  hw/scsi/Kconfig                 |  5 +++++
>  include/hw/virtio/virtio-scsi.h |  2 --
>  meson.build                     |  1 -
>  4 files changed, 5 insertions(+), 18 deletions(-)
>
> diff --git a/configure b/configure
> index a3b57877e5..65ae2c0c1f 100755
> --- a/configure
> +++ b/configure
> @@ -285,7 +285,6 @@ EXTRA_LDFLAGS=""
>  vhost_kernel="$default_feature"
>  vhost_net="$default_feature"
>  vhost_crypto="$default_feature"
> -vhost_scsi="$default_feature"
>  vhost_user="no"
>  vhost_user_fs="$default_feature"
>  vhost_vdpa="$default_feature"
> @@ -873,10 +872,6 @@ for opt do
>    ;;
>    --enable-vhost-crypto) vhost_crypto="yes"
>    ;;
> -  --disable-vhost-scsi) vhost_scsi="no"
> -  ;;
> -  --enable-vhost-scsi) vhost_scsi="yes"
> -  ;;
>    --disable-vhost-user-fs) vhost_user_fs="no"
>    ;;
>    --enable-vhost-user-fs) vhost_user_fs="yes"
> @@ -1103,7 +1098,6 @@ cat << EOF
>    safe-stack      SafeStack Stack Smash Protection. Depends on
>                    clang/llvm >= 3.7 and requires coroutine backend
> ucontext.
>    vhost-net       vhost-net kernel acceleration support
> -  vhost-scsi      vhost-scsi kernel target support
>    vhost-crypto    vhost-user-crypto backend support
>    vhost-kernel    vhost kernel backend support
>    vhost-user      vhost-user backend support
> @@ -1537,12 +1531,6 @@ if test "$vhost_kernel" = "yes" && test "$linux" !=
> "yes"; then
>    error_exit "vhost-kernel is only available on Linux"
>  fi
>
> -# vhost-kernel devices
> -test "$vhost_scsi" = "" && vhost_scsi=$vhost_kernel
> -if test "$vhost_scsi" = "yes" && test "$vhost_kernel" != "yes"; then
> -  error_exit "--enable-vhost-scsi requires --enable-vhost-kernel"
> -fi
> -
>  # vhost-user backends
>  test "$vhost_crypto" = "" && vhost_crypto=$vhost_user
>  if test "$vhost_crypto" = "yes" && test "$vhost_user" = "no"; then
> @@ -2079,9 +2067,6 @@ if test "$modules" = "yes"; then
>    echo "CONFIG_MODULES=y" >> $config_host_mak
>  fi
>
> -if test "$vhost_scsi" = "yes" ; then
> -  echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak
> -fi
>  if test "$vhost_net" = "yes" ; then
>    echo "CONFIG_VHOST_NET=y" >> $config_host_mak
>  fi
> diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
> index 77d397c949..e7b34dc8e2 100644
> --- a/hw/scsi/Kconfig
> +++ b/hw/scsi/Kconfig
> @@ -48,6 +48,11 @@ config VIRTIO_SCSI
>      depends on VIRTIO
>      select SCSI
>
> +config VHOST_SCSI
> +    bool
> +    default y
> +    depends on VIRTIO && VHOST_KERNEL
> +
>  config VHOST_USER_SCSI
>      bool
>      # Only PCI devices are provided for now
> diff --git a/include/hw/virtio/virtio-scsi.h
> b/include/hw/virtio/virtio-scsi.h
> index 543681bc18..0997313f0a 100644
> --- a/include/hw/virtio/virtio-scsi.h
> +++ b/include/hw/virtio/virtio-scsi.h
> @@ -55,10 +55,8 @@ struct VirtIOSCSIConf {
>      bool seg_max_adjust;
>      uint32_t max_sectors;
>      uint32_t cmd_per_lun;
> -#ifdef CONFIG_VHOST_SCSI
>      char *vhostfd;
>      char *wwpn;
> -#endif
>      CharBackend chardev;
>      uint32_t boot_tpgt;
>      IOThread *iothread;
> diff --git a/meson.build b/meson.build
> index 033d0c9aa1..b18731ee84 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -3677,7 +3677,6 @@ summary_info += {'QOM debugging':
>  get_option('qom_cast_debug')}
>  summary_info += {'vhost-kernel support':
> config_host.has_key('CONFIG_VHOST_KERNEL')}
>  summary_info += {'vhost-net support':
> config_host.has_key('CONFIG_VHOST_NET')}
>  summary_info += {'vhost-crypto support':
> config_host.has_key('CONFIG_VHOST_CRYPTO')}
> -summary_info += {'vhost-scsi support':
> config_host.has_key('CONFIG_VHOST_SCSI')}
>  summary_info += {'vhost-user support':
> config_host.has_key('CONFIG_VHOST_USER')}
>  summary_info += {'vhost-user-blk server support':
> have_vhost_user_blk_server}
>  summary_info += {'vhost-user-fs support':
> config_host.has_key('CONFIG_VHOST_USER_FS')}
> --
> 2.35.1
>
>
>
>

-- 
Marc-André Lureau

Reply via email to