From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50914) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVfZe-0003nh-6Q for qemu-devel@nongnu.org; Thu, 03 Apr 2014 07:12:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVfZY-0002cz-GR for qemu-devel@nongnu.org; Thu, 03 Apr 2014 07:12:46 -0400 Received: from mail-qg0-x22e.google.com ([2607:f8b0:400d:c04::22e]:51507) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVfZY-0002cu-Bp for qemu-devel@nongnu.org; Thu, 03 Apr 2014 07:12:40 -0400 Received: by mail-qg0-f46.google.com with SMTP id 63so1587879qgz.33 for ; Thu, 03 Apr 2014 04:12:40 -0700 (PDT) Received: from yakj.usersys.redhat.com (net-2-35-193-100.cust.vodafonedsl.it. [2.35.193.100]) by mx.google.com with ESMTPSA id b37sm6468572qge.16.2014.04.03.04.12.38 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Apr 2014 04:12:39 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Thu, 3 Apr 2014 13:12:21 +0200 Message-Id: <1396523541-568-5-git-send-email-pbonzini@redhat.com> In-Reply-To: <1396523541-568-1-git-send-email-pbonzini@redhat.com> References: <1396523541-568-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 4/4] iscsi: always query max WRITE SAME length List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@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. Reviewed-by: Peter Lieven Signed-off-by: Paolo Bonzini --- block/iscsi.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c index e68aa0f..21c18a3 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); } -- 1.9.0