qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] block/iscsi: Fix compilation for libscsi 1.4.0


From: Peter Lieven
Subject: Re: [Qemu-devel] [PATCH] block/iscsi: Fix compilation for libscsi 1.4.0 (API change)
Date: Mon, 16 Dec 2013 22:11:52 +0100

Am 16.12.2013 um 20:37 schrieb Stefan Weil <address@hidden>:

> Function iscsi_read10_task got additional parameters starting with version
> libiscsi 1.5.0.
> 
> libscsi 1.4.0 is still widely used (Debian wheezy, jessie and other Linux

libiscsi

> distributions currently provide packages for QEMU which use it), so we
> still need support for this older API.
> 
> Signed-off-by: Stefan Weil <address@hidden>
> ---
> 
> block/iscsi.c |    5 ++++-
> configure     |   22 ++++++++++++++++++++++
> 2 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/block/iscsi.c b/block/iscsi.c
> index fa69408..294b2c6 100644
> --- a/block/iscsi.c
> +++ b/block/iscsi.c
> @@ -359,7 +359,10 @@ retry:
>     default:
>         iTask.task = iscsi_read10_task(iscsilun->iscsi, iscsilun->lun, lba,
>                                        num_sectors * iscsilun->block_size,
> -                                       iscsilun->block_size, 0, 0, 0, 0, 0,
> +                                       iscsilun->block_size,
> +#if !defined(CONFIG_LIBISCSI_1_4) /* API change from 1.4.0 to 1.5.0 */
> +                                       0, 0, 0, 0, 0,
> +#endif
>                                        iscsi_co_generic_cb, &iTask);
>         break;
>     }
> diff --git a/configure b/configure
> index edfea95..2d2c2d4 100755
> --- a/configure
> +++ b/configure
> @@ -3078,6 +3078,21 @@ EOF
>   fi
> fi
> 
> +# We also need to know the API version because there was an
> +# API change from 1.4.0 to 1.5.0.
> +if test "$libiscsi" = "yes"; then
> +  cat >$TMPC <<EOF
> +#include <iscsi/iscsi.h>
> +int main(void)
> +{
> +  iscsi_read10_task(0, 0, 0, 0, 0, 0, 0);
> +  return 0;
> +}
> +EOF
> +  if compile_prog "" "-liscsi"; then
> +    libiscsi_version="1.4.0"
> +  fi
> +fi
> 
> ##########################################
> # Do we need libm
> @@ -3805,7 +3820,11 @@ echo "nss used          $smartcard_nss"
> echo "libusb            $libusb"
> echo "usb net redir     $usb_redir"
> echo "GLX support       $glx"
> +if test "$libiscsi_version" = "1.4.0"; then
> +echo "libiscsi support  $libiscsi (1.4.0)"
> +else
> echo "libiscsi support  $libiscsi"
> +fi
> echo "build guest agent $guest_agent"
> echo "QGA VSS support   $guest_agent_with_vss"
> echo "seccomp support   $seccomp"
> @@ -4137,6 +4156,9 @@ fi
> 
> if test "$libiscsi" = "yes" ; then
>   echo "CONFIG_LIBISCSI=y" >> $config_host_mak
> +  if test "$libiscsi_version" = "1.4.0"; then
> +    echo "CONFIG_LIBISCSI_1_4=y" >> $config_host_mak
> +  fi
> fi
> 
> if test "$seccomp" = "yes"; then
> -- 
> 1.7.10.4
> 


Reviewed-by: Peter Lieven <address@hidden>

I missed that silent change from 1.4.0 to 1.5.0.
Thanks for the patch.

Peter


reply via email to

[Prev in Thread] Current Thread [Next in Thread]