From patchwork Wed Apr 2 13:44:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 336346 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 D026C14010E for ; Thu, 3 Apr 2014 00:45:33 +1100 (EST) Received: from localhost ([::1]:38771 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVLTv-0005kv-6l for incoming@patchwork.ozlabs.org; Wed, 02 Apr 2014 09:45:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVLTU-0005Sg-O2 for qemu-devel@nongnu.org; Wed, 02 Apr 2014 09:45:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVLTL-0007w1-Nc for qemu-devel@nongnu.org; Wed, 02 Apr 2014 09:45:04 -0400 Received: from mail-qa0-x234.google.com ([2607:f8b0:400d:c00::234]:42936) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVLTL-0007vu-Il for qemu-devel@nongnu.org; Wed, 02 Apr 2014 09:44:55 -0400 Received: by mail-qa0-f52.google.com with SMTP id m5so186622qaj.39 for ; Wed, 02 Apr 2014 06:44:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id; bh=W0FZfABFwmKTmQ+y0ouK9hDD2WR4NauLzQuJ5DC/r50=; b=P7c+nBfEpNMyEMEgMOpaZDmQLbyTsXkARnQztg8f2A4ccbzDj/99qB74ExDgjmpBhQ HuIMbht2wTV5yM2RASj7ccxMtR2KzD2RHdEztRpdAEyJ6/XPpp3Q7A72RQ61woTIR3Ir L7yp81m7vA+OS9Alkq23xbD2QZvK+VtBTsfcJqHEL8J1dc/kV34G6944rel6bHZ/lN/J JKIk+Ebh/XIvf1HWiDaML+/Lci7L6YzJeFjs+4tFmXFDSBfSgPBd/lBC4Y1fvKn5MMle u9kch7UBBERAebGe5Cf8HuHB9YanZAyevGpupnR9uNwPh93ovX9Ta7aa6a4l5ok1Hfms KBHA== X-Received: by 10.229.179.65 with SMTP id bp1mr792058qcb.11.1396446294999; Wed, 02 Apr 2014 06:44:54 -0700 (PDT) Received: from yakj.usersys.redhat.com (net-37-117-156-129.cust.vodafonedsl.it. [37.117.156.129]) by mx.google.com with ESMTPSA id a17sm3920276qac.35.2014.04.02.06.44.53 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Apr 2014 06:44:54 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 2 Apr 2014 15:44:44 +0200 Message-Id: <1396446284-5594-1-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.9.0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c00::234 Cc: pl@kamp.de Subject: [Qemu-devel] [PATCH for-2.0] iscsi: always query max WRITE SAME length 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 Max WRITE SAME length is also used when the UNMAP bit is zero, so it should be queried even if LBPWS=0. Same for the optimal transfer length. However, the write_zeroes_alignment only matters for UNMAP=1 so we still restrict it to LBPWS=1. Signed-off-by: Paolo Bonzini Reviewed-by: Peter Lieven --- block/iscsi.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c index 00316af..bb88b4b 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1335,18 +1335,20 @@ static int iscsi_refresh_limits(BlockDriverState *bs) /* We don't actually refresh here, but just return data queried in * iscsi_open(): iscsi targets don't change their limits. */ - if (iscsilun->lbp.lbpu || iscsilun->lbp.lbpws) { + if (iscsilun->lbp.lbpu) { if (iscsilun->bl.max_unmap < 0xffffffff) { bs->bl.max_discard = sector_lun2qemu(iscsilun->bl.max_unmap, iscsilun); } bs->bl.discard_alignment = sector_lun2qemu(iscsilun->bl.opt_unmap_gran, iscsilun); + } - if (iscsilun->bl.max_ws_len < 0xffffffff) { - bs->bl.max_write_zeroes = sector_lun2qemu(iscsilun->bl.max_ws_len, - iscsilun); - } + if (iscsilun->bl.max_ws_len < 0xffffffff) { + bs->bl.max_write_zeroes = sector_lun2qemu(iscsilun->bl.max_ws_len, + iscsilun); + } + if (iscsilun->lbp.lbpws) { bs->bl.write_zeroes_alignment = sector_lun2qemu(iscsilun->bl.opt_unmap_gran, iscsilun); }