From nobody Mon Feb 9 02:01:02 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 163586420048036.94765223528282; Tue, 2 Nov 2021 07:43:20 -0700 (PDT) Received: from localhost ([::1]:41062 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mhv0R-0007WF-GY for importer@patchew.org; Tue, 02 Nov 2021 10:43:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46104) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugR-00067n-46 for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:49182) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugN-00037n-EH for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:37 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-181-dCuz-wS6OvOQOdCKdElCuw-1; Tue, 02 Nov 2021 10:22:31 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BBDE9100B78D; Tue, 2 Nov 2021 14:22:30 +0000 (UTC) Received: from localhost (unknown [10.39.193.141]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B14395D705; Tue, 2 Nov 2021 14:22:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635862954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EOyMyGtcIwTlg7/o1tm3Wg2YES5faZz1IbgBmk7jfdM=; b=ckRm10Iqf4jfnrMmUqY9yKQlx5+xlWRg3UKH4NLML+9+RIbntp3tvllPH4elLJTqHzskF/ b4XbwFRWFx+/3PxsD1gogNXgroWQGw+I8/rYZy1rHgeUDC9dp7aMqR+dkhuMKw9IPA4Sr4 g1sMbZ0ikKPG413iil15r7bnbyQ3k4k= X-MC-Unique: dCuz-wS6OvOQOdCKdElCuw-1 From: Hanna Reitz To: qemu-block@nongnu.org Subject: [PULL 1/4] qemu-img: Consistent docs for convert -F Date: Tue, 2 Nov 2021 15:22:16 +0100 Message-Id: <20211102142219.697650-2-hreitz@redhat.com> In-Reply-To: <20211102142219.697650-1-hreitz@redhat.com> References: <20211102142219.697650-1-hreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=hreitz@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=hreitz@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.702, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Hanna Reitz , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1635864202546100001 Content-Type: text/plain; charset="utf-8" From: Eric Blake Use consistent capitalization, and fix a missed line (we duplicate the qemu-img synopses in too many places). Fixes: 1899bf4737 (qemu-img: Add -F shorthand to convert) Signed-off-by: Eric Blake Message-Id: <20210921142812.2631605-1-eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Hanna Reitz --- docs/tools/qemu-img.rst | 2 +- qemu-img-cmds.hx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tools/qemu-img.rst b/docs/tools/qemu-img.rst index d58980aef8..c0a4443146 100644 --- a/docs/tools/qemu-img.rst +++ b/docs/tools/qemu-img.rst @@ -415,7 +415,7 @@ Command description: 4 Error on reading data =20 -.. option:: convert [--object OBJECTDEF] [--image-opts] [--target-image-op= ts] [--target-is-zero] [--bitmaps [--skip-broken-bitmaps]] [-U] [-C] [-c] [= -p] [-q] [-n] [-f FMT] [-t CACHE] [-T SRC_CACHE] [-O OUTPUT_FMT] [-B BACKIN= G_FILE [-F backing_fmt]] [-o OPTIONS] [-l SNAPSHOT_PARAM] [-S SPARSE_SIZE] = [-r RATE_LIMIT] [-m NUM_COROUTINES] [-W] FILENAME [FILENAME2 [...]] OUTPUT_= FILENAME +.. option:: convert [--object OBJECTDEF] [--image-opts] [--target-image-op= ts] [--target-is-zero] [--bitmaps [--skip-broken-bitmaps]] [-U] [-C] [-c] [= -p] [-q] [-n] [-f FMT] [-t CACHE] [-T SRC_CACHE] [-O OUTPUT_FMT] [-B BACKIN= G_FILE [-F BACKING_FMT]] [-o OPTIONS] [-l SNAPSHOT_PARAM] [-S SPARSE_SIZE] = [-r RATE_LIMIT] [-m NUM_COROUTINES] [-W] FILENAME [FILENAME2 [...]] OUTPUT_= FILENAME =20 Convert the disk image *FILENAME* or a snapshot *SNAPSHOT_PARAM* to disk image *OUTPUT_FILENAME* using format *OUTPUT_FMT*. It can diff --git a/qemu-img-cmds.hx b/qemu-img-cmds.hx index 4c4d94ab22..72bcdcfbfa 100644 --- a/qemu-img-cmds.hx +++ b/qemu-img-cmds.hx @@ -48,7 +48,7 @@ ERST DEF("convert", img_convert, "convert [--object objectdef] [--image-opts] [--target-image-opts] [--= target-is-zero] [--bitmaps] [-U] [-C] [-c] [-p] [-q] [-n] [-f fmt] [-t cach= e] [-T src_cache] [-O output_fmt] [-B backing_file [-F backing_fmt]] [-o op= tions] [-l snapshot_param] [-S sparse_size] [-r rate_limit] [-m num_corouti= nes] [-W] [--salvage] filename [filename2 [...]] output_filename") SRST -.. option:: convert [--object OBJECTDEF] [--image-opts] [--target-image-op= ts] [--target-is-zero] [--bitmaps] [-U] [-C] [-c] [-p] [-q] [-n] [-f FMT] [= -t CACHE] [-T SRC_CACHE] [-O OUTPUT_FMT] [-B BACKING_FILE] [-o OPTIONS] [-l= SNAPSHOT_PARAM] [-S SPARSE_SIZE] [-r RATE_LIMIT] [-m NUM_COROUTINES] [-W] = [--salvage] FILENAME [FILENAME2 [...]] OUTPUT_FILENAME +.. option:: convert [--object OBJECTDEF] [--image-opts] [--target-image-op= ts] [--target-is-zero] [--bitmaps] [-U] [-C] [-c] [-p] [-q] [-n] [-f FMT] [= -t CACHE] [-T SRC_CACHE] [-O OUTPUT_FMT] [-B BACKING_FILE [-F BACKING_FMT]]= [-o OPTIONS] [-l SNAPSHOT_PARAM] [-S SPARSE_SIZE] [-r RATE_LIMIT] [-m NUM_= COROUTINES] [-W] [--salvage] FILENAME [FILENAME2 [...]] OUTPUT_FILENAME ERST =20 DEF("create", img_create, --=20 2.31.1 From nobody Mon Feb 9 02:01:02 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1635864147829564.4657513989622; Tue, 2 Nov 2021 07:42:27 -0700 (PDT) Received: from localhost ([::1]:38130 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mhuza-0005Yv-TR for importer@patchew.org; Tue, 02 Nov 2021 10:42:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46172) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugY-0006VB-Qc for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:48792) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugW-00038o-NJ for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:46 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-382-pXYU4FloOaW4ndq-fatvhw-1; Tue, 02 Nov 2021 10:22:39 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B2766100B780; Tue, 2 Nov 2021 14:22:38 +0000 (UTC) Received: from localhost (unknown [10.39.193.141]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8826E2271F; Tue, 2 Nov 2021 14:22:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635862962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MHwWgnoyq2X4R5y7104FQVMs/rNcEqRQk/O0OY7nDwY=; b=IsRRPRIQYAek9KkWR2ISnJnL+gDuXQBU5XMCmEXmq3Qr/E41mggKC6NuMgJTBpPzUmG4Ei LDmV9XLjLqBpo1EFDbATD/DRGnEHFj6S6jyK73085tAePqpxJVtYzKSkNEfLQUmBzcWnan X1uZpPRCs+azoiX8aVxi+8lxW+KTCuM= X-MC-Unique: pXYU4FloOaW4ndq-fatvhw-1 From: Hanna Reitz To: qemu-block@nongnu.org Subject: [PULL 2/4] pylint: fix errors and warnings generated by tests/qemu-iotests/297 Date: Tue, 2 Nov 2021 15:22:17 +0100 Message-Id: <20211102142219.697650-3-hreitz@redhat.com> In-Reply-To: <20211102142219.697650-1-hreitz@redhat.com> References: <20211102142219.697650-1-hreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=hreitz@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=hreitz@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.702, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Hanna Reitz , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1635864148881100001 Content-Type: text/plain; charset="utf-8" From: Emanuele Giuseppe Esposito Test 297 in tests/qemu-iotests currently fails: pylint has learned new things to check, or we simply missed them. All fixes in this patch are related to additional spaces used or wrong indentation. No functional change intended. Signed-off-by: Emanuele Giuseppe Esposito Message-Id: <20211008062821.1010967-2-eesposit@redhat.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/129 | 18 +++++++++--------- tests/qemu-iotests/310 | 16 ++++++++-------- tests/qemu-iotests/check | 11 ++++++----- tests/qemu-iotests/iotests.py | 7 ++++--- tests/qemu-iotests/tests/image-fleecing | 4 ++-- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/tests/qemu-iotests/129 b/tests/qemu-iotests/129 index 5251e2669e..c75ec62ecf 100755 --- a/tests/qemu-iotests/129 +++ b/tests/qemu-iotests/129 @@ -77,8 +77,8 @@ class TestStopWithBlockJob(iotests.QMPTestCase): self.do_test_stop("drive-backup", device=3D"drive0", target=3Dself.target_img, format=3Diotests.imgfm= t, sync=3D"full", - x_perf=3D{ 'max-chunk': 65536, - 'max-workers': 8 }) + x_perf=3D{'max-chunk': 65536, + 'max-workers': 8}) =20 def test_block_commit(self): # Add overlay above the source node so that we actually use a @@ -88,13 +88,13 @@ class TestStopWithBlockJob(iotests.QMPTestCase): '1G') =20 result =3D self.vm.qmp('blockdev-add', **{ - 'node-name': 'overlay', - 'driver': iotests.imgfmt, - 'file': { - 'driver': 'file', - 'filename': self.overlay_img - } - }) + 'node-name': 'overlay', + 'driver': iotests.imgfmt, + 'file': { + 'driver': 'file', + 'filename': self.overlay_img + } + }) self.assert_qmp(result, 'return', {}) =20 result =3D self.vm.qmp('blockdev-snapshot', diff --git a/tests/qemu-iotests/310 b/tests/qemu-iotests/310 index 9d9c928c4b..33c3411869 100755 --- a/tests/qemu-iotests/310 +++ b/tests/qemu-iotests/310 @@ -48,11 +48,11 @@ with iotests.FilePath('base.img') as base_img_path, \ assert qemu_io_silent(base_img_path, '-c', 'write -P 1 3M 1M') =3D=3D 0 assert qemu_img('create', '-f', iotests.imgfmt, '-b', base_img_path, '-F', iotests.imgfmt, mid_img_path) =3D=3D 0 - assert qemu_io_silent(mid_img_path, '-c', 'write -P 3 2M 1M') =3D=3D 0 - assert qemu_io_silent(mid_img_path, '-c', 'write -P 3 4M 1M') =3D=3D 0 + assert qemu_io_silent(mid_img_path, '-c', 'write -P 3 2M 1M') =3D=3D 0 + assert qemu_io_silent(mid_img_path, '-c', 'write -P 3 4M 1M') =3D=3D 0 assert qemu_img('create', '-f', iotests.imgfmt, '-b', mid_img_path, '-F', iotests.imgfmt, top_img_path) =3D=3D 0 - assert qemu_io_silent(top_img_path, '-c', 'write -P 2 1M 1M') =3D=3D 0 + assert qemu_io_silent(top_img_path, '-c', 'write -P 2 1M 1M') =3D=3D 0 =20 # 0 1 2 3 4 # top 2 @@ -108,10 +108,10 @@ with iotests.FilePath('base.img') as base_img_path, \ assert qemu_img('rebase', '-u', '-b', '', '-f', iotests.imgfmt, top_img_path) =3D=3D 0 =20 - assert qemu_io_silent(top_img_path, '-c', 'read -P 0 0 1M') =3D=3D 0 - assert qemu_io_silent(top_img_path, '-c', 'read -P 2 1M 1M') =3D=3D 0 - assert qemu_io_silent(top_img_path, '-c', 'read -P 3 2M 1M') =3D=3D 0 - assert qemu_io_silent(top_img_path, '-c', 'read -P 0 3M 1M') =3D=3D 0 - assert qemu_io_silent(top_img_path, '-c', 'read -P 3 4M 1M') =3D=3D 0 + assert qemu_io_silent(top_img_path, '-c', 'read -P 0 0 1M') =3D=3D 0 + assert qemu_io_silent(top_img_path, '-c', 'read -P 2 1M 1M') =3D=3D 0 + assert qemu_io_silent(top_img_path, '-c', 'read -P 3 2M 1M') =3D=3D 0 + assert qemu_io_silent(top_img_path, '-c', 'read -P 0 3M 1M') =3D=3D 0 + assert qemu_io_silent(top_img_path, '-c', 'read -P 3 4M 1M') =3D=3D 0 =20 log('Done') diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index da1bfb839e..43a4b694cc 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -37,13 +37,14 @@ def make_argparser() -> argparse.ArgumentParser: =20 p.add_argument('-d', dest=3D'debug', action=3D'store_true', help=3D'de= bug') p.add_argument('-p', dest=3D'print', action=3D'store_true', - help=3D'redirects qemu\'s stdout and stderr to the test ou= tput') + help=3D'redirects qemu\'s stdout and stderr to ' + 'the test output') p.add_argument('-gdb', action=3D'store_true', - help=3D"start gdbserver with $GDB_OPTIONS options \ - ('localhost:12345' if $GDB_OPTIONS is empty)") + help=3D"start gdbserver with $GDB_OPTIONS options " + "('localhost:12345' if $GDB_OPTIONS is empty)") p.add_argument('-valgrind', action=3D'store_true', - help=3D'use valgrind, sets VALGRIND_QEMU environment ' - 'variable') + help=3D'use valgrind, sets VALGRIND_QEMU environment ' + 'variable') =20 p.add_argument('-misalign', action=3D'store_true', help=3D'misalign memory allocations') diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index e2f9d873ad..83bfedb902 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -621,7 +621,7 @@ def _post_shutdown(self) -> None: super()._post_shutdown() if not qemu_valgrind or not self._popen: return - valgrind_filename =3D f"{test_dir}/{self._popen.pid}.valgrind" + valgrind_filename =3D f"{test_dir}/{self._popen.pid}.valgrind" if self.exitcode() =3D=3D 99: with open(valgrind_filename, encoding=3D'utf-8') as f: print(f.read()) @@ -1363,8 +1363,9 @@ def write(self, arg=3DNone): =20 class ReproducibleTestRunner(unittest.TextTestRunner): def __init__(self, stream: Optional[TextIO] =3D None, - resultclass: Type[unittest.TestResult] =3D ReproducibleTestRe= sult, - **kwargs: Any) -> None: + resultclass: Type[unittest.TestResult] =3D + ReproducibleTestResult, + **kwargs: Any) -> None: rstream =3D ReproducibleStreamWrapper(stream or sys.stdout) super().__init__(stream=3Drstream, # type: ignore descriptions=3DTrue, diff --git a/tests/qemu-iotests/tests/image-fleecing b/tests/qemu-iotests/t= ests/image-fleecing index 35164e9036..a58b5a1781 100755 --- a/tests/qemu-iotests/tests/image-fleecing +++ b/tests/qemu-iotests/tests/image-fleecing @@ -115,8 +115,8 @@ def do_test(use_cbw, base_img_path, fleece_img_path, nb= d_sock_path, vm): =20 nbd_uri =3D 'nbd+unix:///%s?socket=3D%s' % (tmp_node, nbd_sock_path) log(vm.qmp('nbd-server-start', - {'addr': { 'type': 'unix', - 'data': { 'path': nbd_sock_path } } })) + {'addr': {'type': 'unix', + 'data': {'path': nbd_sock_path}}})) =20 log(vm.qmp('nbd-server-add', device=3Dtmp_node)) =20 --=20 2.31.1 From nobody Mon Feb 9 02:01:02 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 163586441323661.15615067149463; Tue, 2 Nov 2021 07:46:53 -0700 (PDT) Received: from localhost ([::1]:52002 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mhv3s-0006n5-B0 for importer@patchew.org; Tue, 02 Nov 2021 10:46:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46222) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugd-0006hl-4F for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:54144) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugX-000393-Hp for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:50 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-278-67YxZR2RPdyZddMPs8FrtQ-1; Tue, 02 Nov 2021 10:22:41 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DC098876ED2; Tue, 2 Nov 2021 14:22:40 +0000 (UTC) Received: from localhost (unknown [10.39.193.141]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 80B302271F; Tue, 2 Nov 2021 14:22:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635862965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EOblfPXyGFEBBkq4AwAqMHMCqL14xT0ENw0fRgWI2zg=; b=EDnM7VJqDpqbDg1igwJcQY9/ZbeaMNKIWBWgQbC8R+q/CYYR3yRI8L0ccf3Sn2W2nycQFq kIrULbdg0pP0/+ny/6Kp3DM3/fBW77OvPXLOSrw1T8jgkfY1og1t6/eziC2CH00crSBSmv BEh6xgRd9xEzKCuFHz2qmUo6SMzglvk= X-MC-Unique: 67YxZR2RPdyZddMPs8FrtQ-1 From: Hanna Reitz To: qemu-block@nongnu.org Subject: [PULL 3/4] vmdk: allow specification of tools version Date: Tue, 2 Nov 2021 15:22:18 +0100 Message-Id: <20211102142219.697650-4-hreitz@redhat.com> In-Reply-To: <20211102142219.697650-1-hreitz@redhat.com> References: <20211102142219.697650-1-hreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=hreitz@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=hreitz@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.702, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Hanna Reitz , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1635864414189100002 From: Thomas Wei=C3=9Fschuh VMDK files support an attribute that represents the version of the guest tools that are installed on the disk. This attribute is used by vSphere before a machine has been started to determine if the VM has the guest tools installed. This is important when configuring "Operating system customizations" in vSphere, as it checks for the presence of the guest tools before allowing those customizations. Thus when the VM has not yet booted normally it would be impossible to customize it, therefore preventing a customized first-boot. The attribute should not hurt on disks that do not have the guest tools installed and indeed the VMware tools also unconditionally add this attribute. (Defaulting to the value "2147483647", as is done in this patch) Signed-off-by: Thomas Wei=C3=9Fschuh Message-Id: <20210913130419.13241-1-thomas.weissschuh.ext@zeiss.com> [hreitz: Added missing '#' in block-core.json] Signed-off-by: Hanna Reitz --- qapi/block-core.json | 3 +++ block/vmdk.c | 24 ++++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index ce2c1352cb..69698a4ffe 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -4691,6 +4691,8 @@ # @adapter-type: The adapter type used to fill in the descriptor. Default:= ide. # @hwversion: Hardware version. The meaningful options are "4" or "6". # Default: "4". +# @toolsversion: VMware guest tools version. +# Default: "2147483647" (Since 6.2) # @zeroed-grain: Whether to enable zeroed-grain feature for sparse subform= ats. # Default: false. # @@ -4704,6 +4706,7 @@ '*backing-file': 'str', '*adapter-type': 'BlockdevVmdkAdapterType', '*hwversion': 'str', + '*toolsversion': 'str', '*zeroed-grain': 'bool' } } =20 =20 diff --git a/block/vmdk.c b/block/vmdk.c index fb4cc9da90..0dfab6e941 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -60,6 +60,7 @@ #define VMDK_ZEROED (-3) =20 #define BLOCK_OPT_ZEROED_GRAIN "zeroed_grain" +#define BLOCK_OPT_TOOLSVERSION "toolsversion" =20 typedef struct { uint32_t version; @@ -2344,6 +2345,7 @@ static int coroutine_fn vmdk_co_do_create(int64_t siz= e, BlockdevVmdkAdapterType adapter_= type, const char *backing_file, const char *hw_version, + const char *toolsversion, bool compat6, bool zeroed_grain, vmdk_create_extent_fn extent_fn, @@ -2384,7 +2386,8 @@ static int coroutine_fn vmdk_co_do_create(int64_t siz= e, "ddb.geometry.cylinders =3D \"%" PRId64 "\"\n" "ddb.geometry.heads =3D \"%" PRIu32 "\"\n" "ddb.geometry.sectors =3D \"63\"\n" - "ddb.adapterType =3D \"%s\"\n"; + "ddb.adapterType =3D \"%s\"\n" + "ddb.toolsVersion =3D \"%s\"\n"; =20 ext_desc_lines =3D g_string_new(NULL); =20 @@ -2401,6 +2404,9 @@ static int coroutine_fn vmdk_co_do_create(int64_t siz= e, if (!hw_version) { hw_version =3D "4"; } + if (!toolsversion) { + toolsversion =3D "2147483647"; + } =20 if (adapter_type !=3D BLOCKDEV_VMDK_ADAPTER_TYPE_IDE) { /* that's the number of heads with which vmware operates when @@ -2525,7 +2531,8 @@ static int coroutine_fn vmdk_co_do_create(int64_t siz= e, size / (int64_t)(63 * number_heads * BDRV_SECTOR_S= IZE), number_heads, - BlockdevVmdkAdapterType_str(adapter_type)); + BlockdevVmdkAdapterType_str(adapter_type), + toolsversion); desc_len =3D strlen(desc); /* the descriptor offset =3D 0x200 */ if (!split && !flat) { @@ -2617,6 +2624,7 @@ static int coroutine_fn vmdk_co_create_opts(BlockDriv= er *drv, BlockdevVmdkAdapterType adapter_type_enum; char *backing_file =3D NULL; char *hw_version =3D NULL; + char *toolsversion =3D NULL; char *fmt =3D NULL; BlockdevVmdkSubformat subformat; int ret =3D 0; @@ -2649,6 +2657,7 @@ static int coroutine_fn vmdk_co_create_opts(BlockDriv= er *drv, adapter_type =3D qemu_opt_get_del(opts, BLOCK_OPT_ADAPTER_TYPE); backing_file =3D qemu_opt_get_del(opts, BLOCK_OPT_BACKING_FILE); hw_version =3D qemu_opt_get_del(opts, BLOCK_OPT_HWVERSION); + toolsversion =3D qemu_opt_get_del(opts, BLOCK_OPT_TOOLSVERSION); compat6 =3D qemu_opt_get_bool_del(opts, BLOCK_OPT_COMPAT6, false); if (strcmp(hw_version, "undefined") =3D=3D 0) { g_free(hw_version); @@ -2692,14 +2701,15 @@ static int coroutine_fn vmdk_co_create_opts(BlockDr= iver *drv, .opts =3D opts, }; ret =3D vmdk_co_do_create(total_size, subformat, adapter_type_enum, - backing_file, hw_version, compat6, zeroed_grai= n, - vmdk_co_create_opts_cb, &data, errp); + backing_file, hw_version, toolsversion, compat= 6, + zeroed_grain, vmdk_co_create_opts_cb, &data, e= rrp); =20 exit: g_free(backing_fmt); g_free(adapter_type); g_free(backing_file); g_free(hw_version); + g_free(toolsversion); g_free(fmt); g_free(desc); g_free(path); @@ -2782,6 +2792,7 @@ static int coroutine_fn vmdk_co_create(BlockdevCreate= Options *create_options, opts->adapter_type, opts->backing_file, opts->hwversion, + opts->toolsversion, false, opts->zeroed_grain, vmdk_co_create_cb, @@ -3031,6 +3042,11 @@ static QemuOptsList vmdk_create_opts =3D { .help =3D "VMDK hardware version", .def_value_str =3D "undefined" }, + { + .name =3D BLOCK_OPT_TOOLSVERSION, + .type =3D QEMU_OPT_STRING, + .help =3D "VMware guest tools version", + }, { .name =3D BLOCK_OPT_SUBFMT, .type =3D QEMU_OPT_STRING, --=20 2.31.1 From nobody Mon Feb 9 02:01:02 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1635864309354878.9718864915139; Tue, 2 Nov 2021 07:45:09 -0700 (PDT) Received: from localhost ([::1]:48936 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mhv2B-0004MN-TC for importer@patchew.org; Tue, 02 Nov 2021 10:45:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46212) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhuga-0006af-Fh for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:48 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:20398) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mhugX-000399-PW for qemu-devel@nongnu.org; Tue, 02 Nov 2021 10:22:48 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-100-h6OqSs70Pgm13H-hGbQ7rw-1; Tue, 02 Nov 2021 10:22:44 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E847E876ECA; Tue, 2 Nov 2021 14:22:42 +0000 (UTC) Received: from localhost (unknown [10.39.193.141]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 900B95D705; Tue, 2 Nov 2021 14:22:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635862965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CxPGQDvnz7wLbeXSF54pf2XeNqKU0g81EeWn83j5DxQ=; b=fSTeD7U1cobBFVRHFHIpww2EPdhrAkBGAj7uGpOf0f5HPlLb4C1iOJpt7cUAuHW6Opaszj TFFQafab+nDXulrr18TSJah//5SBWpGix9fY7Covb+Oe7RKI+utpVEf3oPBcxmVGe/Nggc 14pPBlCELYkgHT1w04eVY4toqXcAJ40= X-MC-Unique: h6OqSs70Pgm13H-hGbQ7rw-1 From: Hanna Reitz To: qemu-block@nongnu.org Subject: [PULL 4/4] block/vpc: Add a sanity check that fixed-size images have the right type Date: Tue, 2 Nov 2021 15:22:19 +0100 Message-Id: <20211102142219.697650-5-hreitz@redhat.com> In-Reply-To: <20211102142219.697650-1-hreitz@redhat.com> References: <20211102142219.697650-1-hreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=hreitz@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=hreitz@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.702, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Hanna Reitz , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1635864310702100001 Content-Type: text/plain; charset="utf-8" From: Thomas Huth The code in vpc.c uses BDRVVPCState->footer.type in various places to decide whether the image is a fixed-size (VHD_FIXED) or a dynamic (VHD_DYNAMIC) image. However, we never check that this field really contains VHD_FIXED if we detected a fixed size image in vpc_open(), so a wrong value here could cause quite some trouble during runtime. Suggested-by: Kevin Wolf Signed-off-by: Thomas Huth Message-Id: <20211012082702.792259-1-thuth@redhat.com> Signed-off-by: Hanna Reitz --- block/vpc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/vpc.c b/block/vpc.c index 1b4c7333af..297a26262a 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -276,7 +276,8 @@ static int vpc_open(BlockDriverState *bs, QDict *option= s, int flags, if (ret < 0) { goto fail; } - if (strncmp(footer->creator, "conectix", 8)) { + if (strncmp(footer->creator, "conectix", 8) || + be32_to_cpu(footer->type) !=3D VHD_FIXED) { error_setg(errp, "invalid VPC image"); ret =3D -EINVAL; goto fail; --=20 2.31.1