[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