On Wed, Apr 20, 2022 at 8:23 PM Paolo Bonzini <pbonzini@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 <pbonzini@redhat.com>
>
Reviewed-by: Marc-André Lureau <marcandre.lureau@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