From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50441) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vu2IN-0004bQ-CM for qemu-devel@nongnu.org; Fri, 20 Dec 2013 10:47:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vu2II-0000Wd-Lf for qemu-devel@nongnu.org; Fri, 20 Dec 2013 10:47:23 -0500 Received: from mx1.redhat.com ([209.132.183.28]:7048) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vu2II-0000WY-Cp for qemu-devel@nongnu.org; Fri, 20 Dec 2013 10:47:18 -0500 From: Stefan Hajnoczi Date: Fri, 20 Dec 2013 16:46:45 +0100 Message-Id: <1387554416-5837-8-git-send-email-stefanha@redhat.com> In-Reply-To: <1387554416-5837-1-git-send-email-stefanha@redhat.com> References: <1387554416-5837-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PULL 07/18] block/iscsi: Fix compilation for libiscsi 1.4.0 (API change) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori From: Stefan Weil Function iscsi_read10_task got additional parameters starting with version libiscsi 1.5.0. libiscsi 1.4.0 is still widely used (Debian wheezy, jessie and other Linux distributions currently provide packages for QEMU which use it), so we still need support for this older API. Reviewed-by: Peter Lieven Signed-off-by: Stefan Weil Signed-off-by: Stefan Hajnoczi --- 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 07b6be3..d97556c 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 < +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.8.4.2