From patchwork Mon Dec 16 19:37:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Weil X-Patchwork-Id: 301793 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 524D02C00A4 for ; Tue, 17 Dec 2013 06:38:09 +1100 (EST) Received: from localhost ([::1]:57857 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsdzS-0006Ye-Ei for incoming@patchwork.ozlabs.org; Mon, 16 Dec 2013 14:38:06 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vsdz7-0006YK-Tf for qemu-devel@nongnu.org; Mon, 16 Dec 2013 14:37:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vsdz2-00077T-JL for qemu-devel@nongnu.org; Mon, 16 Dec 2013 14:37:45 -0500 Received: from qemu.weilnetz.de ([37.221.198.45]:43299 helo=v2201305906712890.yourvserver.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vsdz2-00072s-Df for qemu-devel@nongnu.org; Mon, 16 Dec 2013 14:37:40 -0500 Received: by v2201305906712890.yourvserver.net (Postfix, from userid 1000) id A640717FD3D; Mon, 16 Dec 2013 20:37:36 +0100 (CET) From: Stefan Weil To: qemu-devel@nongnu.org Date: Mon, 16 Dec 2013 20:37:36 +0100 Message-Id: <1387222656-8352-1-git-send-email-sw@weilnetz.de> X-Mailer: git-send-email 1.7.10.4 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 37.221.198.45 Cc: Kevin Wolf , Ronnie Sahlberg , Stefan Weil , Peter Lieven , Stefan Hajnoczi , Paolo Bonzini Subject: [Qemu-devel] [PATCH] block/iscsi: Fix compilation for libscsi 1.4.0 (API change) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 distributions currently provide packages for QEMU which use it), so we still need support for this older API. Signed-off-by: Stefan Weil Reviewed-by: Peter Lieven --- 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 < +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