From nobody Mon Feb 9 15:10:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1493493641955286.6351355865065; Sat, 29 Apr 2017 12:20:41 -0700 (PDT) Received: from localhost ([::1]:42113 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d4Xv5-0003hw-Lw for importer@patchew.org; Sat, 29 Apr 2017 15:20:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58582) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d4XpB-0007ga-0A for qemu-devel@nongnu.org; Sat, 29 Apr 2017 15:14:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d4Xp9-0006vB-Hh for qemu-devel@nongnu.org; Sat, 29 Apr 2017 15:14:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44474) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d4Xp4-0006sq-4e; Sat, 29 Apr 2017 15:14:26 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2A1D8771F; Sat, 29 Apr 2017 19:14:25 +0000 (UTC) Received: from red.redhat.com (ovpn-123-177.rdu2.redhat.com [10.10.123.177]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7577177A04; Sat, 29 Apr 2017 19:14:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2A1D8771F Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=eblake@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 2A1D8771F From: Eric Blake To: qemu-devel@nongnu.org Date: Sat, 29 Apr 2017 14:14:13 -0500 Message-Id: <20170429191419.30051-4-eblake@redhat.com> In-Reply-To: <20170429191419.30051-1-eblake@redhat.com> References: <20170429191419.30051-1-eblake@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Sat, 29 Apr 2017 19:14:25 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v11 3/9] qemu-io: Switch 'map' output to byte-based reporting X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Mixing byte offset and sector allocation counts is a bit confusing. Also, reporting n/m sectors, where m decreases according to the remaining size of the file, isn't really adding any useful information; and reporting an offset at both the front and end of the line, with large amounts of whitespace, is pointless. Update the output to use byte counts and shorter lines, then adjust the affected tests (./check -qcow2 102, ./check -vpc 146). Note that 'qemu-io map' is MUCH weaker than 'qemu-img map'; the former only shows which regions of the active layer are allocated, without regards to where the allocation comes from or whether the allocated portion is known to read as zero (because it is using the weaker bdrv_is_allocated()); while the latter (especially in --output=3Djson mode) reports more details from bdrv_get_block_status(). Signed-off-by: Eric Blake --- v11: rebase to occur before test 179, shrink the output v10: rebase to updated test 179 v9: new patch --- qemu-io-cmds.c | 11 ++++++----- tests/qemu-iotests/102.out | 4 ++-- tests/qemu-iotests/146.out | 30 +++++++++++++++--------------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c index 1e0ebb4..4b2278f 100644 --- a/qemu-io-cmds.c +++ b/qemu-io-cmds.c @@ -1868,7 +1868,7 @@ static int map_f(BlockBackend *blk, int argc, char **= argv) { int64_t offset; int64_t nb_sectors, total_sectors; - char s1[64]; + char s1[64], s2[64]; int64_t num; int ret; const char *retstr; @@ -1894,10 +1894,11 @@ static int map_f(BlockBackend *blk, int argc, char = **argv) } retstr =3D ret ? " allocated" : "not allocated"; - cvtstr(offset << 9ULL, s1, sizeof(s1)); - printf("[% 24" PRId64 "] % 8" PRId64 "/% 8" PRId64 " sectors %s " - "at offset %s (%d)\n", - offset << 9ULL, num, nb_sectors, retstr, s1, ret); + cvtstr(num << BDRV_SECTOR_BITS, s1, sizeof(s1)); + cvtstr(offset << BDRV_SECTOR_BITS, s2, sizeof(s2)); + printf("%s (0x%" PRIx64 ") bytes %s at offset %s (0x%" PRIx64 ")\n= ", + s1, num << BDRV_SECTOR_BITS, retstr, + s2, offset << BDRV_SECTOR_BITS); offset +=3D num; nb_sectors -=3D num; diff --git a/tests/qemu-iotests/102.out b/tests/qemu-iotests/102.out index eecde16..ccf172a 100644 --- a/tests/qemu-iotests/102.out +++ b/tests/qemu-iotests/102.out @@ -6,7 +6,7 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D65536 wrote 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) Image resized. -[ 0] 128/ 128 sectors allocated at offs= et 0 bytes (1) +64 KiB (0x10000) bytes allocated at offset 0 bytes (0x0) Offset Length Mapped to File =3D=3D=3D Testing map on an image file truncated outside of qemu =3D=3D=3D @@ -17,5 +17,5 @@ wrote 65536/65536 bytes at offset 0 Image resized. QEMU X.Y.Z monitor - type 'help' for more information (qemu) qemu-io drv0 map -[ 0] 128/ 128 sectors allocated at offs= et 0 bytes (1) +64 KiB (0x10000) bytes allocated at offset 0 bytes (0x0) *** done diff --git a/tests/qemu-iotests/146.out b/tests/qemu-iotests/146.out index 4f334d8..db6b296 100644 --- a/tests/qemu-iotests/146.out +++ b/tests/qemu-iotests/146.out @@ -2,39 +2,39 @@ QA output created by 146 =3D=3D=3D Testing VPC Autodetect =3D=3D=3D -[ 0] 266334240/ 266334240 sectors not allocated at = offset 0 bytes (0) +126.998 GiB (0x1fbfe04000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing VPC with current_size force =3D=3D=3D -[ 0] 266338304/ 266338304 sectors not allocated at = offset 0 bytes (0) +127 GiB (0x1fc0000000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing VPC with chs force =3D=3D=3D -[ 0] 266334240/ 266334240 sectors not allocated at = offset 0 bytes (0) +126.998 GiB (0x1fbfe04000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing Hyper-V Autodetect =3D=3D=3D -[ 0] 266338304/ 266338304 sectors not allocated at = offset 0 bytes (0) +127 GiB (0x1fc0000000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing Hyper-V with current_size force =3D=3D=3D -[ 0] 266338304/ 266338304 sectors not allocated at = offset 0 bytes (0) +127 GiB (0x1fc0000000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing Hyper-V with chs force =3D=3D=3D -[ 0] 266334240/ 266334240 sectors not allocated at = offset 0 bytes (0) +126.998 GiB (0x1fbfe04000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing d2v Autodetect =3D=3D=3D -[ 0] 514560/ 514560 sectors allocated at offs= et 0 bytes (1) +251.250 MiB (0xfb40000) bytes allocated at offset 0 bytes (0x0) =3D=3D=3D Testing d2v with current_size force =3D=3D=3D -[ 0] 514560/ 514560 sectors allocated at offs= et 0 bytes (1) +251.250 MiB (0xfb40000) bytes allocated at offset 0 bytes (0x0) =3D=3D=3D Testing d2v with chs force =3D=3D=3D -[ 0] 514560/ 514560 sectors allocated at offs= et 0 bytes (1) +251.250 MiB (0xfb40000) bytes allocated at offset 0 bytes (0x0) =3D=3D=3D Testing Image create, default =3D=3D=3D @@ -42,15 +42,15 @@ Formatting 'TEST_DIR/IMGFMT-create-test.IMGFMT', fmt=3D= IMGFMT size=3D4294967296 =3D=3D=3D Read created image, default opts =3D=3D=3D=3D -[ 0] 8389584/ 8389584 sectors not allocated at offs= et 0 bytes (0) +4 GiB (0x10007a000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Read created image, force_size_calc=3Dchs =3D=3D=3D=3D -[ 0] 8389584/ 8389584 sectors not allocated at offs= et 0 bytes (0) +4 GiB (0x10007a000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Read created image, force_size_calc=3Dcurrent_size =3D=3D=3D=3D -[ 0] 8389584/ 8389584 sectors not allocated at offs= et 0 bytes (0) +4 GiB (0x10007a000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Testing Image create, force_size =3D=3D=3D @@ -58,13 +58,13 @@ Formatting 'TEST_DIR/IMGFMT-create-test.IMGFMT', fmt=3D= IMGFMT size=3D4294967296 forc =3D=3D=3D Read created image, default opts =3D=3D=3D=3D -[ 0] 8388608/ 8388608 sectors not allocated at offs= et 0 bytes (0) +4 GiB (0x100000000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Read created image, force_size_calc=3Dchs =3D=3D=3D=3D -[ 0] 8388608/ 8388608 sectors not allocated at offs= et 0 bytes (0) +4 GiB (0x100000000) bytes not allocated at offset 0 bytes (0x0) =3D=3D=3D Read created image, force_size_calc=3Dcurrent_size =3D=3D=3D=3D -[ 0] 8388608/ 8388608 sectors not allocated at offs= et 0 bytes (0) +4 GiB (0x100000000) bytes not allocated at offset 0 bytes (0x0) *** done --=20 2.9.3