From nobody Sat May 18 19:24:39 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1608244191; cv=none; d=zohomail.com; s=zohoarc; b=au2r7DoeOT6kC746k+TAyDNiqxN9igY+gJCUtLdJQyl4pFzCJeXSWxoDiZnaAjJAp1DZFxTLaJqwBpgF9qJKEGAGz/kqTKMvJAEnRfQ246n5CvMsz2ErYcLD2aey3FBZ6mFqGyP+rJk2f+2n+bNznzxVvxNc+kDbrqBrWcXZo00= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608244191; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pcrS/r3YLtgO7D7X2mXR2kcPMjW0+SBUVTIE2lh2asw=; b=P1s9V4RTmFirMFtmhAGj2KOBN276GcNQMciikTdOBjKWVHvA1JjeKXVv+L58+wI9eyAdWBvmtlFnMRbqWZwMtrVUMCj5Pxr0mWispZwOSRvQciRtBJz4bg96mr8o30tkpjryDZq/xIrBragtLRY7xkhAS7Z1evmI5D+Pui2mlMA= ARC-Authentication-Results: i=1; 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 header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608244191036894.3361105220355; Thu, 17 Dec 2020 14:29:51 -0800 (PST) Received: from localhost ([::1]:60212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpvWQ-0006zT-PR for importer@patchew.org; Thu, 17 Dec 2020 10:48:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42806) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpvM9-0003Zd-8j for qemu-devel@nongnu.org; Thu, 17 Dec 2020 10:38:17 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:26094) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kpvM6-00077x-86 for qemu-devel@nongnu.org; Thu, 17 Dec 2020 10:38:17 -0500 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-260-S7GhXX93PpC7KiJaX4ya2Q-1; Thu, 17 Dec 2020 10:38:09 -0500 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AFC5D80F04F; Thu, 17 Dec 2020 15:38:08 +0000 (UTC) Received: from localhost (ovpn-112-159.ams2.redhat.com [10.36.112.159]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4784B1B47C; Thu, 17 Dec 2020 15:38:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1608219493; 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=pcrS/r3YLtgO7D7X2mXR2kcPMjW0+SBUVTIE2lh2asw=; b=Avij9ZfS4DYEo/81X8mf68JBYiTzt0HsSHkW7JdK4ZUettYMXq6HQqORpMUWGEQzq8eavM I5KTzUaV6ZbqB4KXFzwd+dpc34OlSxiAoQ1fuXhPfdwK70V9/mSnN/XUTSYd9OYGyiM29V f4mpjiDz//+E2eyj2VWbJcfDRQn/ncA= X-MC-Unique: S7GhXX93PpC7KiJaX4ya2Q-1 From: Max Reitz To: qemu-block@nongnu.org Subject: [PATCH v2 1/2] iotests/102: Pass $QEMU_HANDLE to _send_qemu_cmd Date: Thu, 17 Dec 2020 16:38:02 +0100 Message-Id: <20201217153803.101231-2-mreitz@redhat.com> In-Reply-To: <20201217153803.101231-1-mreitz@redhat.com> References: <20201217153803.101231-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mreitz@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=63.128.21.124; envelope-from=mreitz@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The first parameter passed to _send_qemu_cmd is supposed to be the $QEMU_HANDLE. 102 does not do so here, fix it. As a result, the output changes: Now we see the prompt this command is supposedly waiting for before the resize message - as it should be. Signed-off-by: Max Reitz Reviewed-by: Kevin Wolf --- tests/qemu-iotests/102 | 2 +- tests/qemu-iotests/102.out | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/102 b/tests/qemu-iotests/102 index 2cc3efd1ed..9d747c7bbf 100755 --- a/tests/qemu-iotests/102 +++ b/tests/qemu-iotests/102 @@ -68,7 +68,7 @@ $QEMU_IO -c 'write 0 64k' "$TEST_IMG" | _filter_qemu_io qemu_comm_method=3Dmonitor _launch_qemu -drive if=3Dnone,file=3D"$TEST_IMG= ",id=3Ddrv0 =20 # Wait for a prompt to appear (so we know qemu has opened the image) -_send_qemu_cmd '' '(qemu)' +_send_qemu_cmd $QEMU_HANDLE '' '(qemu)' =20 $QEMU_IMG resize --shrink --image-opts \ "driver=3Draw,file.driver=3Dfile,file.filename=3D$TEST_IMG,file.lockin= g=3Doff" \ diff --git a/tests/qemu-iotests/102.out b/tests/qemu-iotests/102.out index cd2fdc7f96..320ed5a52b 100644 --- a/tests/qemu-iotests/102.out +++ b/tests/qemu-iotests/102.out @@ -16,8 +16,8 @@ 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) QEMU X.Y.Z monitor - type 'help' for more information -Image resized. (qemu) +Image resized. (qemu) qemu-io drv0 map 64 KiB (0x10000) bytes allocated at offset 0 bytes (0x0) *** done --=20 2.29.2 From nobody Sat May 18 19:24:39 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1608235204; cv=none; d=zohomail.com; s=zohoarc; b=GeXT1eVRHzWOUvUa2BeFogoZ2dV12/Tbapdrf1LZ9Q5d3NoLUViGFP35ADQYDgCEAWkxYVYZSX5t8IjvENJj4F2xlktInAvXf0B5pPJbLtfySl7Vl0IQ5Jf5r0ggI0B8ckmrkul8VgCB/TxfgW/U34by0TqmJ/1lvaJb0+N6jnU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608235204; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lGWW9woD39wQKpa8x+uJVpXC6STN97w7gQjnGpoaYEM=; b=HgEt5fb1oV/Jm936EwcPeZ/KlYO2UtEuRuEOTDBtlqyj3tQ5fX7lSTsSphvXLQvSCMZg1Uz3QiSHEt2+FFEr9uTqRobKLFBV30GAA8mkZKcGqGwoQ+IjHmyqKZwP/c9aPZYEIG+7wwV/H1qxDErKHOhShHHskOtW4J0e65zC11U= ARC-Authentication-Results: i=1; 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 header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1608235204786923.1681901237049; Thu, 17 Dec 2020 12:00:04 -0800 (PST) Received: from localhost ([::1]:42108 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpvPV-0007qg-M3 for importer@patchew.org; Thu, 17 Dec 2020 10:41:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42862) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpvME-0003ku-3Z for qemu-devel@nongnu.org; Thu, 17 Dec 2020 10:38:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30086) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kpvM8-00078R-KE for qemu-devel@nongnu.org; Thu, 17 Dec 2020 10:38:21 -0500 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-187-uxgD544WNQCLJGBWUf6bHA-1; Thu, 17 Dec 2020 10:38:13 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 88E1B835B5F; Thu, 17 Dec 2020 15:38:12 +0000 (UTC) Received: from localhost (ovpn-112-159.ams2.redhat.com [10.36.112.159]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A4F4360C15; Thu, 17 Dec 2020 15:38:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1608219495; 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=lGWW9woD39wQKpa8x+uJVpXC6STN97w7gQjnGpoaYEM=; b=Dk9iid8H0K9OiaReuVJb/EJWOZR8wucplgfXyXzL/mHWSxYrzHLp2cg/J/NUvASXmXJsmc P3WREKvUEiurUNo1AZ/XNcg+yLl64EOdEpzoCoSUUV7/bfsa1LK6f79QiXXG1HuBNsUVsp 5b7l1ZGxIQBvfYXufQcCIJQ8B1Qu7iE= X-MC-Unique: uxgD544WNQCLJGBWUf6bHA-1 From: Max Reitz To: qemu-block@nongnu.org Subject: [PATCH v2 2/2] iotests: Fix _send_qemu_cmd with bash 5.1 Date: Thu, 17 Dec 2020 16:38:03 +0100 Message-Id: <20201217153803.101231-3-mreitz@redhat.com> In-Reply-To: <20201217153803.101231-1-mreitz@redhat.com> References: <20201217153803.101231-1-mreitz@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mreitz@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=216.205.24.124; envelope-from=mreitz@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" With bash 5.1, the output of the following script changes: a=3D("double space") a=3D${a[@]:0:1} echo "$a" from "double space" to "double space", i.e. all white space is preserved as-is. This is probably what we actually want here (judging from the "...to accommodate pathnames with spaces" comment), but before 5.1, we would have to quote the ${} slice to get the same behavior. In any case, without quoting, the reference output of many iotests is different between bash 5.1 and pre-5.1, which is not very good. The output of 5.1 is what we want, so whatever we do to get pre-5.1 to the same result, it means we have to fix the reference output of basically all tests that invoke _send_qemu_cmd (except the ones that only use single spaces in the commands they invoke). Instead of quoting the ${} slice (cmd=3D"${$@: 1:...}"), we can also just not use array slicing and replace the whole thing with a simple "cmd=3D$1; shift", which works because all callers quote the whole $cmd argument anyway. Signed-off-by: Max Reitz Reviewed-by: Kevin Wolf --- tests/qemu-iotests/085.out | 167 ++++++++++++++++++++++++++++----- tests/qemu-iotests/094.out | 10 +- tests/qemu-iotests/095.out | 4 +- tests/qemu-iotests/109.out | 88 ++++++++++++----- tests/qemu-iotests/117.out | 13 ++- tests/qemu-iotests/127.out | 12 ++- tests/qemu-iotests/140.out | 10 +- tests/qemu-iotests/141.out | 128 +++++++++++++++++++------ tests/qemu-iotests/143.out | 4 +- tests/qemu-iotests/144.out | 28 +++++- tests/qemu-iotests/153.out | 18 ++-- tests/qemu-iotests/156.out | 39 ++++++-- tests/qemu-iotests/161.out | 18 +++- tests/qemu-iotests/173.out | 25 ++++- tests/qemu-iotests/182.out | 42 +++++++-- tests/qemu-iotests/183.out | 19 +++- tests/qemu-iotests/185.out | 45 +++++++-- tests/qemu-iotests/191.out | 12 ++- tests/qemu-iotests/223.out | 92 ++++++++++++------ tests/qemu-iotests/229.out | 13 ++- tests/qemu-iotests/249.out | 16 +++- tests/qemu-iotests/308.out | 103 +++++++++++++++++--- tests/qemu-iotests/312.out | 10 +- tests/qemu-iotests/common.qemu | 11 +-- 24 files changed, 728 insertions(+), 199 deletions(-) diff --git a/tests/qemu-iotests/085.out b/tests/qemu-iotests/085.out index 7fc44b1c61..32a193f2c2 100644 --- a/tests/qemu-iotests/085.out +++ b/tests/qemu-iotests/085.out @@ -12,56 +12,135 @@ Formatting 'TEST_DIR/t.IMGFMT.2', fmt=3DIMGFMT size=3D= 134217728 =20 =3D=3D=3D Create a single snapshot on virtio0 =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'virtio0',= 'snapshot-file':'TEST_DIR/1-snapshot-v0.IMGFMT', 'format': 'IMGFMT' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { 'device': 'virtio0', + 'snapshot-file':'TEST_DIR/1-snapshot-= v0.IMGFMT', + 'format': 'IMGFMT' } } Formatting 'TEST_DIR/1-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/t.qcow2.1 backing_fmt=3Dqcow2 lazy_refcounts=3Doff refcount_bit= s=3D16 {"return": {}} =20 =3D=3D=3D Invalid command - missing device and nodename =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'snapshot-file':'TES= T_DIR/1-snapshot-v0.IMGFMT', 'format': 'IMGFMT' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { 'snapshot-file':'TEST_DIR/1-snapsh= ot-v0.IMGFMT', + 'format': 'IMGFMT' } } {"error": {"class": "GenericError", "desc": "Cannot find device=3D nor nod= e_name=3D"}} =20 =3D=3D=3D Invalid command - missing snapshot-file =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'virtio0',= 'format': 'IMGFMT' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { 'device': 'virtio0', + 'format': 'IMGFMT' } } {"error": {"class": "GenericError", "desc": "Parameter 'snapshot-file' is = missing"}} =20 =20 =3D=3D=3D Create several transactional group snapshots =3D=3D=3D =20 -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /2-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/2-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/2-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/2-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/2-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/1-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/2-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/t.qcow2.2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff refcount_bit= s=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /3-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/3-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/3-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/3-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/3-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/2-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/3-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/2-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /4-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/4-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/4-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/4-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/4-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/3-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/4-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/3-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /5-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/5-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/5-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/5-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/5-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/4-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/5-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/4-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /6-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/6-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/6-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/6-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/6-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/5-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/6-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/5-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /7-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/7-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/7-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/7-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/7-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/6-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/7-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/6-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /8-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/8-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/8-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/8-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/8-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/7-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/8-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/7-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /9-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : { = 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/9-snapshot-v1.IMGFMT' } } ]= } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/9-snapshot-v0.IMGFMT' } }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/9-snapshot-v1.IMGFMT' } = } ] + } } Formatting 'TEST_DIR/9-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/8-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/9-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D6553= 6 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/8-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} -{ 'execute': 'transaction', 'arguments': {'actions': [ { 'type': 'blockdev= -snapshot-sync', 'data' : { 'device': 'virtio0', 'snapshot-file': 'TEST_DIR= /10-snapshot-v0.IMGFMT' } }, { 'type': 'blockdev-snapshot-sync', 'data' : {= 'device': 'virtio1', 'snapshot-file': 'TEST_DIR/10-snapshot-v1.IMGFMT' } }= ] } } +{ 'execute': 'transaction', 'arguments': + {'actions': [ + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio0', + 'snapshot-file': 'TEST_DIR/10-snapshot-v0.IMGFMT' } = }, + { 'type': 'blockdev-snapshot-sync', 'data' : + { 'device': 'virtio1', + 'snapshot-file': 'TEST_DIR/10-snapshot-v1.IMGFMT' }= } ] + } } Formatting 'TEST_DIR/10-snapshot-v0.qcow2', fmt=3Dqcow2 cluster_size=3D655= 36 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/9-snapshot-v0.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 Formatting 'TEST_DIR/10-snapshot-v1.qcow2', fmt=3Dqcow2 cluster_size=3D655= 36 extended_l2=3Doff compression_type=3Dzlib size=3D134217728 backing_file= =3DTEST_DIR/9-snapshot-v1.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff re= fcount_bits=3D16 {"return": {}} @@ -69,48 +148,84 @@ Formatting 'TEST_DIR/10-snapshot-v1.qcow2', fmt=3Dqcow= 2 cluster_size=3D65536 extende =3D=3D=3D Create a couple of snapshots using blockdev-snapshot =3D=3D=3D =20 Formatting 'TEST_DIR/11-snapshot-v0.IMGFMT', fmt=3DIMGFMT size=3D134217728= backing_file=3DTEST_DIR/10-snapshot-v0.IMGFMT backing_fmt=3DIMGFMT -{ 'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name= ': 'snap_11', 'backing': null, 'file': { 'driver': 'file', 'filename': 'TES= T_DIR/11-snapshot-v0.IMGFMT', 'node-name': 'file_11' } } } +{ 'execute': 'blockdev-add', 'arguments': + { 'driver': 'IMGFMT', 'node-name': 'snap_11', 'backing': null, + 'file': + { 'driver': 'file', 'filename': 'TEST_DIR/11-snapshot-v0.IMGF= MT', + 'node-name': 'file_11' } } } {"return": {}} -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overl= ay':'snap_11' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node': 'virtio0', + 'overlay':'snap_11' } } {"return": {}} Formatting 'TEST_DIR/12-snapshot-v0.IMGFMT', fmt=3DIMGFMT size=3D134217728= backing_file=3DTEST_DIR/11-snapshot-v0.IMGFMT backing_fmt=3DIMGFMT -{ 'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name= ': 'snap_12', 'backing': null, 'file': { 'driver': 'file', 'filename': 'TES= T_DIR/12-snapshot-v0.IMGFMT', 'node-name': 'file_12' } } } +{ 'execute': 'blockdev-add', 'arguments': + { 'driver': 'IMGFMT', 'node-name': 'snap_12', 'backing': null, + 'file': + { 'driver': 'file', 'filename': 'TEST_DIR/12-snapshot-v0.IMGF= MT', + 'node-name': 'file_12' } } } {"return": {}} -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overl= ay':'snap_12' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node': 'virtio0', + 'overlay':'snap_12' } } {"return": {}} =20 =3D=3D=3D Invalid command - cannot create a snapshot using a file BDS =3D= =3D=3D =20 -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node':'virtio0', 'overla= y':'file_12' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node':'virtio0', + 'overlay':'file_12' } + } {"error": {"class": "GenericError", "desc": "The overlay is already in use= "}} =20 =3D=3D=3D Invalid command - snapshot node used as active layer =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overl= ay':'snap_12' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node': 'virtio0', + 'overlay':'snap_12' } } {"error": {"class": "GenericError", "desc": "The overlay is already in use= "}} -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node':'virtio0', 'overla= y':'virtio0' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node':'virtio0', + 'overlay':'virtio0' } + } {"error": {"class": "GenericError", "desc": "The overlay is already in use= "}} -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node':'virtio0', 'overla= y':'virtio1' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node':'virtio0', + 'overlay':'virtio1' } + } {"error": {"class": "GenericError", "desc": "The overlay is already in use= "}} =20 =3D=3D=3D Invalid command - snapshot node used as backing hd =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overl= ay':'snap_11' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node': 'virtio0', + 'overlay':'snap_11' } } {"error": {"class": "GenericError", "desc": "The overlay is already in use= "}} =20 =3D=3D=3D Invalid command - snapshot node has a backing image =3D=3D=3D =20 Formatting 'TEST_DIR/t.IMGFMT.base', fmt=3DIMGFMT size=3D134217728 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D134217728 backing_file= =3DTEST_DIR/t.IMGFMT.base backing_fmt=3DIMGFMT -{ 'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name= ': 'snap_13', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT', = 'node-name': 'file_13' } } } -{"return": {}} -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overl= ay':'snap_13' } } +{ 'execute': 'blockdev-add', 'arguments': + { 'driver': 'IMGFMT', 'node-name': 'snap_13', + 'file': + { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT', + 'node-name': 'file_13' } } } +{"return": {}} +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node': 'virtio0', + 'overlay':'snap_13' } } {"error": {"class": "GenericError", "desc": "The overlay already has a bac= king image"}} =20 =3D=3D=3D Invalid command - The node does not exist =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overl= ay':'snap_14' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node': 'virtio0', + 'overlay':'snap_14' } } {"error": {"class": "GenericError", "desc": "Cannot find device=3Dsnap_14 = nor node_name=3Dsnap_14"}} -{ 'execute': 'blockdev-snapshot', 'arguments': { 'node':'nodevice', 'overl= ay':'snap_13' } } +{ 'execute': 'blockdev-snapshot', + 'arguments': { 'node':'nodevice', + 'overlay':'snap_13' } + } {"error": {"class": "GenericError", "desc": "Cannot find device=3Dnodevice= nor node_name=3Dnodevice"}} *** done diff --git a/tests/qemu-iotests/094.out b/tests/qemu-iotests/094.out index 9b6c57b3e2..97f894cf8f 100644 --- a/tests/qemu-iotests/094.out +++ b/tests/qemu-iotests/094.out @@ -3,13 +3,19 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D67108= 864 Formatting 'TEST_DIR/source.IMGFMT', fmt=3DIMGFMT size=3D67108864 {'execute': 'qmp_capabilities'} {"return": {}} -{'execute': 'drive-mirror', 'arguments': {'device': 'src', 'target': 'nbd+= unix:///?socket=3DSOCK_DIR/nbd', 'format': 'nbd', 'sync':'full', 'mode':'ex= isting'}} +{'execute': 'drive-mirror', + 'arguments': {'device': 'src', + 'target': 'nbd+unix:///?socket=3DSOCK_DIR/nbd', + 'format': 'nbd', + 'sync':'full', + 'mode':'existing'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "src", "len": 67108864, "offset": 6= 7108864, "speed": 0, "type": "mirror"}} -{'execute': 'block-job-complete', 'arguments': {'device': 'src'}} +{'execute': 'block-job-complete', + 'arguments': {'device': 'src'}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "src"}} diff --git a/tests/qemu-iotests/095.out b/tests/qemu-iotests/095.out index e66ced58f8..8257c5e1e6 100644 --- a/tests/qemu-iotests/095.out +++ b/tests/qemu-iotests/095.out @@ -12,7 +12,9 @@ virtual size: 5 MiB (5242880 bytes) =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'block-commit', 'arguments': { 'device': 'test', 'top': 'TEST= _DIR/t.IMGFMT.snp1' } } +{ 'execute': 'block-commit', + 'arguments': { 'device': 'test', + 'top': 'TEST_DIR/t.IMGFMT.snp1' } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "test"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "test"}} {"return": {}} diff --git a/tests/qemu-iotests/109.out b/tests/qemu-iotests/109.out index ad739df46c..6e73406cdb 100644 --- a/tests/qemu-iotests/109.out +++ b/tests/qemu-iotests/109.out @@ -6,7 +6,9 @@ Formatting 'TEST_DIR/t.raw.src', fmt=3DIMGFMT size=3D671088= 64 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -27,7 +29,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -51,7 +55,9 @@ Formatting 'TEST_DIR/t.raw.src', fmt=3DIMGFMT size=3D6710= 8864 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -72,7 +78,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -96,7 +104,9 @@ Formatting 'TEST_DIR/t.raw.src', fmt=3DIMGFMT size=3D671= 08864 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -117,7 +127,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -141,7 +153,9 @@ Formatting 'TEST_DIR/t.raw.src', fmt=3DIMGFMT size=3D67= 108864 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -162,7 +176,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -186,7 +202,9 @@ Formatting 'TEST_DIR/t.raw.src', fmt=3DIMGFMT size=3D67= 108864 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -207,7 +225,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -231,7 +251,9 @@ Formatting 'TEST_DIR/t.raw.src', fmt=3DIMGFMT size=3D67= 108864 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -252,7 +274,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -275,7 +299,9 @@ Images are identical. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -296,7 +322,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -319,7 +347,9 @@ Images are identical. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -340,7 +370,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -363,7 +395,9 @@ Images are identical. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -384,7 +418,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -407,7 +443,9 @@ Images are identical. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -428,7 +466,9 @@ read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} @@ -451,7 +491,9 @@ Images are identical. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3DSIZE { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', + 'mode': 'existing', 'sync': 'full'}} WARNING: Image format was not specified for 'TEST_DIR/t.raw' and probing g= uessed raw. Automatically detecting the format is dangerous for raw images, w= rite operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. @@ -473,7 +515,9 @@ WARNING: Image format was not specified for 'TEST_DIR/t= .raw' and probing guessed Images are identical. { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute':'drive-mirror', 'arguments':{ 'device': 'src', 'target': 'TEST_= DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'existing', 'sync': 'full'}} +{'execute':'drive-mirror', 'arguments':{ + 'device': 'src', 'target': 'TEST_DIR/t.IMGFMT', 'format': 'IMG= FMT', + 'mode': 'existing', 'sync': 'full'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "src"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "src"}} {"return": {}} diff --git a/tests/qemu-iotests/117.out b/tests/qemu-iotests/117.out index bb623dcc0a..735ffd25c6 100644 --- a/tests/qemu-iotests/117.out +++ b/tests/qemu-iotests/117.out @@ -2,11 +2,18 @@ QA output created by 117 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D65536 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'blockdev-add', 'arguments': { 'node-name': 'protocol', 'driv= er': 'file', 'filename': 'TEST_DIR/t.IMGFMT' } } +{ 'execute': 'blockdev-add', + 'arguments': { 'node-name': 'protocol', + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT' } } {"return": {}} -{ 'execute': 'blockdev-add', 'arguments': { 'node-name': 'format', 'driver= ': 'IMGFMT', 'file': 'protocol' } } +{ 'execute': 'blockdev-add', + 'arguments': { 'node-name': 'format', + 'driver': 'IMGFMT', + 'file': 'protocol' } } {"return": {}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io format "write -P 42 0 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'qemu-io format "write -P 42 0 64k"'= } } wrote 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} diff --git a/tests/qemu-iotests/127.out b/tests/qemu-iotests/127.out index efd6cb327f..1685c4850a 100644 --- a/tests/qemu-iotests/127.out +++ b/tests/qemu-iotests/127.out @@ -6,13 +6,21 @@ wrote 42/42 bytes at offset 0 42 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'drive-mirror', 'arguments': { 'job-id': 'mirror', 'device': = 'source', 'target': 'TEST_DIR/t.IMGFMT.overlay1', 'mode': 'existing', 'sync= ': 'top' } } +{ 'execute': 'drive-mirror', + 'arguments': { + 'job-id': 'mirror', + 'device': 'source', + 'target': 'TEST_DIR/t.IMGFMT.overlay1', + 'mode': 'existing', + 'sync': 'top' + } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "mirror"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "mirror"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "mirror"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "mirror", "len": 65536, "offset": 6= 5536, "speed": 0, "type": "mirror"}} -{ 'execute': 'block-job-complete', 'arguments': { 'device': 'mirror' } } +{ 'execute': 'block-job-complete', + 'arguments': { 'device': 'mirror' } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "mirror"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "mirror"}} diff --git a/tests/qemu-iotests/140.out b/tests/qemu-iotests/140.out index 62d9c3ab3c..312f76d5da 100644 --- a/tests/qemu-iotests/140.out +++ b/tests/qemu-iotests/140.out @@ -4,13 +4,17 @@ wrote 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'nbd-server-start', 'arguments': { 'addr': { 'type': 'unix', = 'data': { 'path': 'SOCK_DIR/nbd' }}}} +{ 'execute': 'nbd-server-start', + 'arguments': { 'addr': { 'type': 'unix', + 'data': { 'path': 'SOCK_DIR/nbd' }}}} {"return": {}} -{ 'execute': 'nbd-server-add', 'arguments': { 'device': 'drv' }} +{ 'execute': 'nbd-server-add', + 'arguments': { 'device': 'drv' }} {"return": {}} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{ 'execute': 'eject', 'arguments': { 'device': 'drv' }} +{ 'execute': 'eject', + 'arguments': { 'device': 'drv' }} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "drv"}} qemu-io: can't open device nbd+unix:///drv?socket=3DSOCK_DIR/nbd: Requeste= d export not available server reported: export 'drv' not present diff --git a/tests/qemu-iotests/141.out b/tests/qemu-iotests/141.out index 08e0aecd65..6d8652e22b 100644 --- a/tests/qemu-iotests/141.out +++ b/tests/qemu-iotests/141.out @@ -7,105 +7,173 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D104= 8576 backing_file=3DTEST_DIR/m. =20 =3D=3D=3D Testing drive-backup =3D=3D=3D =20 -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'drv0', 'driver': = 'IMGFMT', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT' }}} -{"return": {}} -{'execute': 'drive-backup', 'arguments': {'job-id': 'job0', 'device': 'drv= 0', 'target': 'TEST_DIR/o.IMGFMT', 'format': 'IMGFMT', 'sync': 'none'}} +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'drv0', + 'driver': 'IMGFMT', + 'file': { + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT' + }}} +{"return": {}} +{'execute': 'drive-backup', +'arguments': {'job-id': 'job0', +'device': 'drv0', +'target': 'TEST_DIR/o.IMGFMT', +'format': 'IMGFMT', +'sync': 'none'}} Formatting 'TEST_DIR/o.IMGFMT', fmt=3DIMGFMT size=3D1048576 backing_file= =3DTEST_DIR/t.IMGFMT backing_fmt=3DIMGFMT {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "paused", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: node is = used as backing hd of 'NODE_NAME'"}} -{'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} +{'execute': 'block-job-cancel', + 'arguments': {'device': 'job0'}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 1048576, "offset= ": 0, "speed": 0, "type": "backup"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"return": {}} =20 =3D=3D=3D Testing drive-mirror =3D=3D=3D =20 -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'drv0', 'driver': = 'IMGFMT', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT' }}} -{"return": {}} -{'execute': 'drive-mirror', 'arguments': {'job-id': 'job0', 'device': 'drv= 0', 'target': 'TEST_DIR/o.IMGFMT', 'format': 'IMGFMT', 'sync': 'none'}} +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'drv0', + 'driver': 'IMGFMT', + 'file': { + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT' + }}} +{"return": {}} +{'execute': 'drive-mirror', +'arguments': {'job-id': 'job0', +'device': 'drv0', +'target': 'TEST_DIR/o.IMGFMT', +'format': 'IMGFMT', +'sync': 'none'}} Formatting 'TEST_DIR/o.IMGFMT', fmt=3DIMGFMT size=3D1048576 backing_file= =3DTEST_DIR/t.IMGFMT backing_fmt=3DIMGFMT {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "job0", "len": 0, "offset": 0, "spe= ed": 0, "type": "mirror"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block de= vice is in use by block job: mirror"}} -{'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} +{'execute': 'block-job-cancel', + 'arguments': {'device': 'job0'}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_COMPLETED", "data": {"device": "job0", "len": 0, "offset": 0, = "speed": 0, "type": "mirror"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"return": {}} =20 =3D=3D=3D Testing active block-commit =3D=3D=3D =20 -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'drv0', 'driver': = 'IMGFMT', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT' }}} -{"return": {}} -{'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'drv= 0'}} +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'drv0', + 'driver': 'IMGFMT', + 'file': { + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT' + }}} +{"return": {}} +{'execute': 'block-commit', +'arguments': {'job-id': 'job0', 'device': 'drv0'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "job0", "len": 0, "offset": 0, "spe= ed": 0, "type": "commit"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block de= vice is in use by block job: commit"}} -{'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} +{'execute': 'block-job-cancel', + 'arguments': {'device': 'job0'}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_COMPLETED", "data": {"device": "job0", "len": 0, "offset": 0, = "speed": 0, "type": "commit"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"return": {}} =20 =3D=3D=3D Testing non-active block-commit =3D=3D=3D =20 wrote 1048576/1048576 bytes at offset 0 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'drv0', 'driver': = 'IMGFMT', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT' }}} -{"return": {}} -{'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'drv= 0', 'top': 'TEST_DIR/m.IMGFMT', 'speed': 1}} +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'drv0', + 'driver': 'IMGFMT', + 'file': { + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT' + }}} +{"return": {}} +{'execute': 'block-commit', +'arguments': {'job-id': 'job0', +'device': 'drv0', +'top': 'TEST_DIR/m.IMGFMT', +'speed': 1}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node drv0 is in use"}} -{'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} +{'execute': 'block-job-cancel', + 'arguments': {'device': 'job0'}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 1048576, "offset= ": 524288, "speed": 1, "type": "commit"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"return": {}} =20 =3D=3D=3D Testing block-stream =3D=3D=3D =20 wrote 1048576/1048576 bytes at offset 0 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'drv0', 'driver': = 'IMGFMT', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT' }}} -{"return": {}} -{'execute': 'block-stream', 'arguments': {'job-id': 'job0', 'device': 'drv= 0', 'speed': 1}} +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'drv0', + 'driver': 'IMGFMT', + 'file': { + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT' + }}} +{"return": {}} +{'execute': 'block-stream', +'arguments': {'job-id': 'job0', +'device': 'drv0', +'speed': 1}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node drv0 is in use"}} -{'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} +{'execute': 'block-job-cancel', + 'arguments': {'device': 'job0'}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 1048576, "offset= ": 524288, "speed": 1, "type": "stream"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} -{'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} +{'execute': 'blockdev-del', + 'arguments': {'node-name': 'drv0'}} {"return": {}} *** done diff --git a/tests/qemu-iotests/143.out b/tests/qemu-iotests/143.out index fc9c0a761f..9ec5888e0e 100644 --- a/tests/qemu-iotests/143.out +++ b/tests/qemu-iotests/143.out @@ -1,7 +1,9 @@ QA output created by 143 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'nbd-server-start', 'arguments': { 'addr': { 'type': 'unix', = 'data': { 'path': 'SOCK_DIR/nbd' }}}} +{ 'execute': 'nbd-server-start', + 'arguments': { 'addr': { 'type': 'unix', + 'data': { 'path': 'SOCK_DIR/nbd' }}}} {"return": {}} qemu-io: can't open device nbd+unix:///no_such_export?socket=3DSOCK_DIR/nb= d: Requested export not available server reported: export 'no_such_export' not present diff --git a/tests/qemu-iotests/144.out b/tests/qemu-iotests/144.out index 13e0c4f5a7..b3b4812015 100644 --- a/tests/qemu-iotests/144.out +++ b/tests/qemu-iotests/144.out @@ -8,19 +8,33 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D53687= 0912 =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'virtio0',= 'snapshot-file':'TEST_DIR/tmp.IMGFMT', 'format': 'IMGFMT' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { + 'device': 'virtio0', + 'snapshot-file':'TEST_DIR/tmp= .IMGFMT', + 'format': 'IMGFMT' + } + } Formatting 'TEST_DIR/tmp.qcow2', fmt=3Dqcow2 cluster_size=3D65536 extended= _l2=3Doff compression_type=3Dzlib size=3D536870912 backing_file=3DTEST_DIR/= t.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff refcount_bits=3D16 {"return": {}} =20 =3D=3D=3D Performing block-commit on active layer =3D=3D=3D =20 -{ 'execute': 'block-commit', 'arguments': { 'device': 'virtio0' } } +{ 'execute': 'block-commit', + 'arguments': { + 'device': 'virtio0' + } + } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "virtio0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "virtio0"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "virtio0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "virtio0", "len": 0, "offset": 0, "= speed": 0, "type": "commit"}} -{ 'execute': 'block-job-complete', 'arguments': { 'device': 'virtio0' } } +{ 'execute': 'block-job-complete', + 'arguments': { + 'device': 'virtio0' + } + } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "virtio0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "virtio0"}} @@ -30,7 +44,13 @@ Formatting 'TEST_DIR/tmp.qcow2', fmt=3Dqcow2 cluster_siz= e=3D65536 extended_l2=3Doff co =20 =3D=3D=3D Performing Live Snapshot 2 =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'virtio0',= 'snapshot-file':'TEST_DIR/tmp2.IMGFMT', 'format': 'IMGFMT' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { + 'device': 'virtio0', + 'snapshot-file':'TEST_DIR/= tmp2.IMGFMT', + 'format': 'IMGFMT' + } + } Formatting 'TEST_DIR/tmp2.qcow2', fmt=3Dqcow2 cluster_size=3D65536 extende= d_l2=3Doff compression_type=3Dzlib size=3D536870912 backing_file=3DTEST_DIR= /t.qcow2 backing_fmt=3Dqcow2 lazy_refcounts=3Doff refcount_bits=3D16 {"return": {}} *** done diff --git a/tests/qemu-iotests/153.out b/tests/qemu-iotests/153.out index fcaa71aeee..ff8e55864a 100644 --- a/tests/qemu-iotests/153.out +++ b/tests/qemu-iotests/153.out @@ -425,7 +425,8 @@ _qemu_img_wrapper commit -b TEST_DIR/t.qcow2.b TEST_DIR= /t.qcow2.c { 'execute': 'qmp_capabilities' } {"return": {}} Adding drive -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'driv= e_add 0 if=3Dnone,id=3Dd0,file=3DTEST_DIR/t.IMGFMT' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'drive_add 0 if=3Dnone,id=3Dd0,file= =3DTEST_DIR/t.IMGFMT' } } {"return": "OKrn"} =20 _qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 @@ -435,25 +436,30 @@ Creating overlay with qemu-img when the guest is runn= ing should be allowed =20 _qemu_img_wrapper create -f qcow2 -b TEST_DIR/t.qcow2 -F qcow2 TEST_DIR/t.= qcow2.overlay =3D=3D Closing an image should unlock it =3D=3D -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'driv= e_del d0' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'drive_del d0' } } {"return": ""} =20 _qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 Adding two and closing one -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'driv= e_add 0 if=3Dnone,id=3Dd0,file=3DTEST_DIR/t.IMGFMT,readonly=3Don' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'drive_add 0 if=3Dnone,id=3Dd0,f= ile=3DTEST_DIR/t.IMGFMT,readonly=3Don' } } {"return": "OKrn"} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'driv= e_add 0 if=3Dnone,id=3Dd1,file=3DTEST_DIR/t.IMGFMT,readonly=3Don' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'drive_add 0 if=3Dnone,id=3Dd1,f= ile=3DTEST_DIR/t.IMGFMT,readonly=3Don' } } {"return": "OKrn"} =20 _qemu_img_wrapper info TEST_DIR/t.qcow2 -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'driv= e_del d0' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'drive_del d0' } } {"return": ""} =20 _qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock Is another process using the image [TEST_DIR/t.qcow2]? Closing the other -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'driv= e_del d1' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': 'drive_del d1' } } {"return": ""} =20 _qemu_io_wrapper TEST_DIR/t.qcow2 -c write 0 512 diff --git a/tests/qemu-iotests/156.out b/tests/qemu-iotests/156.out index cce167b63f..4a22f0c41a 100644 --- a/tests/qemu-iotests/156.out +++ b/tests/qemu-iotests/156.out @@ -8,24 +8,37 @@ wrote 196608/196608 bytes at offset 65536 { 'execute': 'qmp_capabilities' } {"return": {}} Formatting 'TEST_DIR/t.IMGFMT.overlay', fmt=3DIMGFMT size=3D1048576 backin= g_file=3DTEST_DIR/t.IMGFMT backing_fmt=3DIMGFMT -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'source', = 'snapshot-file': 'TEST_DIR/t.IMGFMT.overlay', 'format': 'IMGFMT', 'mode': '= existing' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { 'device': 'source', + 'snapshot-file': 'TEST_DIR/t.IMGFMT.overlay', + 'format': 'IMGFMT', + 'mode': 'existing' } } {"return": {}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io source "write -P 3 128k 128k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io source "write -P 3 128k 128k"' } } wrote 131072/131072 bytes at offset 131072 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} Formatting 'TEST_DIR/t.IMGFMT.target.overlay', fmt=3DIMGFMT size=3D1048576= backing_file=3DTEST_DIR/t.IMGFMT.target backing_fmt=3DIMGFMT -{ 'execute': 'drive-mirror', 'arguments': { 'device': 'source', 'target': = 'TEST_DIR/t.IMGFMT.target.overlay', 'mode': 'existing', 'sync': 'top' } } +{ 'execute': 'drive-mirror', + 'arguments': { 'device': 'source', + 'target': 'TEST_DIR/t.IMGFMT.target.overlay', + 'mode': 'existing', + 'sync': 'top' } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "source"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "source"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "source"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "source", "len": 131072, "offset": = 131072, "speed": 0, "type": "mirror"}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io source "write -P 4 192k 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io source "write -P 4 192k 64k"' } } wrote 65536/65536 bytes at offset 196608 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'block-job-complete', 'arguments': { 'device': 'source' } } +{ 'execute': 'block-job-complete', + 'arguments': { 'device': 'source' } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "source"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "source"}} @@ -33,19 +46,27 @@ wrote 65536/65536 bytes at offset 196608 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "source"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "source"}} =20 -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io source "read -P 1 0k 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io source "read -P 1 0k 64k"' } } read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io source "read -P 2 64k 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io source "read -P 2 64k 64k"' } } read 65536/65536 bytes at offset 65536 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io source "read -P 3 128k 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io source "read -P 3 128k 64k"' } } read 65536/65536 bytes at offset 131072 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io source "read -P 4 192k 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io source "read -P 4 192k 64k"' } } read 65536/65536 bytes at offset 196608 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} diff --git a/tests/qemu-iotests/161.out b/tests/qemu-iotests/161.out index 3d8d89a9da..6cc285afcf 100644 --- a/tests/qemu-iotests/161.out +++ b/tests/qemu-iotests/161.out @@ -7,18 +7,23 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10485= 76 backing_file=3DTEST_DIR/t. =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io none0 "reopen -o backing.detect-zeroes=3Don"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io none0 "reopen -o backing.detect-zeroes=3Don= "' } } {"return": ""} =20 *** Stream and then change an option on the backing file =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'block-stream', 'arguments': { 'device': 'none0', 'base': 'TE= ST_DIR/t.IMGFMT.base' } } +{ 'execute': 'block-stream', 'arguments': { 'device': 'none0', + 'base': 'TEST_DIR/t.IMGFMT.base' } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "none0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "none0"}} {"return": {}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io none0 "reopen -o backing.detect-zeroes=3Don"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io none0 "reopen -o backing.detect-zeroes=3Don= "' } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "none0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "none0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_COMPLETED", "data": {"device": "none0", "len": 1048576, "offse= t": 1048576, "speed": 0, "type": "stream"}} @@ -33,11 +38,14 @@ Formatting 'TEST_DIR/t.IMGFMT.int', fmt=3DIMGFMT size= =3D1048576 backing_file=3DTEST_DI Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1048576 backing_file= =3DTEST_DIR/t.IMGFMT.int backing_fmt=3DIMGFMT { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'block-commit', 'arguments': { 'device': 'none0', 'top': 'TES= T_DIR/t.IMGFMT.int' } } +{ 'execute': 'block-commit', 'arguments': { 'device': 'none0', + 'top': 'TEST_DIR/t.IMGFMT.int' } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "none0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "none0"}} {"return": {}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io none0 "reopen -o backing.detect-zeroes=3Don"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io none0 "reopen -o backing.detect-zeroes=3Don= "' } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "none0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "none0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_COMPLETED", "data": {"device": "none0", "len": 1048576, "offse= t": 1048576, "speed": 0, "type": "commit"}} diff --git a/tests/qemu-iotests/173.out b/tests/qemu-iotests/173.out index b5114b5c79..2d6490d680 100644 --- a/tests/qemu-iotests/173.out +++ b/tests/qemu-iotests/173.out @@ -6,11 +6,30 @@ Formatting 'TEST_DIR/image.snp1', fmt=3DIMGFMT size=3D104= 857600 =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'arguments': { 'device': 'disk2', 'format': 'IMGFMT', 'mode': 'existing'= , 'snapshot-file': 'TEST_DIR/image.snp1', 'snapshot-node-name': 'snp1' }, '= execute': 'blockdev-snapshot-sync' } +{ 'arguments': { + 'device': 'disk2', + 'format': 'IMGFMT', + 'mode': 'existing', + 'snapshot-file': 'TEST_DIR/image.snp1', + 'snapshot-node-name': 'snp1' + }, + 'execute': 'blockdev-snapshot-sync' + } {"return": {}} -{ 'arguments': { 'backing-file': 'image.base', 'device': 'disk2', 'image-n= ode-name': 'snp1' }, 'execute': 'change-backing-file' } +{ 'arguments': { + 'backing-file': 'image.base', + 'device': 'disk2', + 'image-node-name': 'snp1' + }, + 'execute': 'change-backing-file' + } {"return": {}} -{ 'arguments': { 'base': 'TEST_DIR/image.base', 'device': 'disk2' }, 'exec= ute': 'block-stream' } +{ 'arguments': { + 'base': 'TEST_DIR/image.base', + 'device': 'disk2' + }, + 'execute': 'block-stream' + } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk2"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk2"}} {"return": {}} diff --git a/tests/qemu-iotests/182.out b/tests/qemu-iotests/182.out index ce23340670..57f7265458 100644 --- a/tests/qemu-iotests/182.out +++ b/tests/qemu-iotests/182.out @@ -10,16 +10,42 @@ Is another process using the image [TEST_DIR/t.qcow2]? =20 {'execute': 'qmp_capabilities'} {"return": {}} -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'node0', 'driver':= 'file', 'filename': 'TEST_DIR/t.IMGFMT', 'locking': 'on' } } -{"return": {}} -{'execute': 'blockdev-snapshot-sync', 'arguments': { 'node-name': 'node0',= 'snapshot-file': 'TEST_DIR/t.IMGFMT.overlay', 'snapshot-node-name': 'node1= ' } } +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'node0', + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT', + 'locking': 'on' + } } +{"return": {}} +{'execute': 'blockdev-snapshot-sync', + 'arguments': { + 'node-name': 'node0', + 'snapshot-file': 'TEST_DIR/t.IMGFMT.overlay', + 'snapshot-node-name': 'node1' + } } Formatting 'TEST_DIR/t.qcow2.overlay', fmt=3Dqcow2 cluster_size=3D65536 ex= tended_l2=3Doff compression_type=3Dzlib size=3D197120 backing_file=3DTEST_D= IR/t.qcow2 backing_fmt=3Dfile lazy_refcounts=3Doff refcount_bits=3D16 {"return": {}} -{'execute': 'blockdev-add', 'arguments': { 'node-name': 'node1', 'driver':= 'file', 'filename': 'TEST_DIR/t.IMGFMT', 'locking': 'on' } } -{"return": {}} -{'execute': 'nbd-server-start', 'arguments': { 'addr': { 'type': 'unix', '= data': { 'path': 'SOCK_DIR/nbd.socket' } } } } -{"return": {}} -{'execute': 'nbd-server-add', 'arguments': { 'device': 'node1' } } +{'execute': 'blockdev-add', + 'arguments': { + 'node-name': 'node1', + 'driver': 'file', + 'filename': 'TEST_DIR/t.IMGFMT', + 'locking': 'on' + } } +{"return": {}} +{'execute': 'nbd-server-start', + 'arguments': { + 'addr': { + 'type': 'unix', + 'data': { + 'path': 'SOCK_DIR/nbd.socket' + } } } } +{"return": {}} +{'execute': 'nbd-server-add', + 'arguments': { + 'device': 'node1' + } } {"return": {}} =20 =3D=3D=3D Testing failure to loosen restrictions =3D=3D=3D diff --git a/tests/qemu-iotests/183.out b/tests/qemu-iotests/183.out index d4be2cb2de..fd9c2e52a5 100644 --- a/tests/qemu-iotests/183.out +++ b/tests/qemu-iotests/183.out @@ -11,18 +11,23 @@ Formatting 'TEST_DIR/t.IMGFMT.dest', fmt=3DIMGFMT size= =3D67108864 =20 =3D=3D=3D Write something on the source =3D=3D=3D =20 -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io disk "write -P 0x55 0 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io disk "write -P 0x55 0 64k"' } } wrote 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io disk "read -P 0x55 0 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io disk "read -P 0x55 0 64k"' } } read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} =20 =3D=3D=3D Do block migration to destination =3D=3D=3D =20 -{ 'execute': 'migrate', 'arguments': { 'uri': 'unix:SOCK_DIR/migrate', 'bl= k': true } } +{ 'execute': 'migrate', + 'arguments': { 'uri': 'unix:SOCK_DIR/migrate', 'blk': true } } {"return": {}} { 'execute': 'query-status' } {"return": {"status": "postmigrate", "singlestep": false, "running": false= }} @@ -32,11 +37,15 @@ read 65536/65536 bytes at offset 0 { 'execute': 'query-status' } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "RESUME"} {"return": {"status": "running", "singlestep": false, "running": true}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io disk "read -P 0x55 0 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io disk "read -P 0x55 0 64k"' } } read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io disk "write -P 0x66 1M 64k"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io disk "write -P 0x66 1M 64k"' } } wrote 65536/65536 bytes at offset 1048576 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} diff --git a/tests/qemu-iotests/185.out b/tests/qemu-iotests/185.out index 339438ac68..eab55d22bf 100644 --- a/tests/qemu-iotests/185.out +++ b/tests/qemu-iotests/185.out @@ -8,20 +8,34 @@ Formatting 'TEST_DIR/t.IMGFMT.base', fmt=3DIMGFMT size=3D= 67108864 =20 =3D=3D=3D Creating backing chain =3D=3D=3D =20 -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'disk', 's= napshot-file': 'TEST_DIR/t.IMGFMT.mid', 'format': 'IMGFMT', 'mode': 'absolu= te-paths' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { 'device': 'disk', + 'snapshot-file': 'TEST_DIR/t.IMGFMT.mid', + 'format': 'IMGFMT', + 'mode': 'absolute-paths' } } Formatting 'TEST_DIR/t.qcow2.mid', fmt=3Dqcow2 cluster_size=3D65536 extend= ed_l2=3Doff compression_type=3Dzlib size=3D67108864 backing_file=3DTEST_DIR= /t.qcow2.base backing_fmt=3Dqcow2 lazy_refcounts=3Doff refcount_bits=3D16 {"return": {}} -{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu= -io disk "write 0 4M"' } } +{ 'execute': 'human-monitor-command', + 'arguments': { 'command-line': + 'qemu-io disk "write 0 4M"' } } wrote 4194304/4194304 bytes at offset 0 4 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} -{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'disk', 's= napshot-file': 'TEST_DIR/t.IMGFMT', 'format': 'IMGFMT', 'mode': 'absolute-p= aths' } } +{ 'execute': 'blockdev-snapshot-sync', + 'arguments': { 'device': 'disk', + 'snapshot-file': 'TEST_DIR/t.IMGFMT', + 'format': 'IMGFMT', + 'mode': 'absolute-paths' } } Formatting 'TEST_DIR/t.qcow2', fmt=3Dqcow2 cluster_size=3D65536 extended_l= 2=3Doff compression_type=3Dzlib size=3D67108864 backing_file=3DTEST_DIR/t.q= cow2.mid backing_fmt=3Dqcow2 lazy_refcounts=3Doff refcount_bits=3D16 {"return": {}} =20 =3D=3D=3D Start commit job and exit qemu =3D=3D=3D =20 -{ 'execute': 'block-commit', 'arguments': { 'device': 'disk', 'base':'TEST= _DIR/t.IMGFMT.base', 'top': 'TEST_DIR/t.IMGFMT.mid', 'speed': 65536 } } +{ 'execute': 'block-commit', + 'arguments': { 'device': 'disk', + 'base':'TEST_DIR/t.IMGFMT.base', + 'top': 'TEST_DIR/t.IMGFMT.mid', + 'speed': 65536 } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk"}} {"return": {}} @@ -34,7 +48,10 @@ Formatting 'TEST_DIR/t.qcow2', fmt=3Dqcow2 cluster_size= =3D65536 extended_l2=3Doff comp =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'block-commit', 'arguments': { 'device': 'disk', 'base':'TEST= _DIR/t.IMGFMT.base', 'speed': 65536 } } +{ 'execute': 'block-commit', + 'arguments': { 'device': 'disk', + 'base':'TEST_DIR/t.IMGFMT.base', + 'speed': 65536 } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk"}} {"return": {}} @@ -47,7 +64,12 @@ Formatting 'TEST_DIR/t.qcow2', fmt=3Dqcow2 cluster_size= =3D65536 extended_l2=3Doff comp =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'drive-mirror', 'arguments': { 'device': 'disk', 'target': 'T= EST_DIR/t.IMGFMT.copy', 'format': 'IMGFMT', 'sync': 'full', 'speed': 65536 = } } +{ 'execute': 'drive-mirror', + 'arguments': { 'device': 'disk', + 'target': 'TEST_DIR/t.IMGFMT.copy', + 'format': 'IMGFMT', + 'sync': 'full', + 'speed': 65536 } } Formatting 'TEST_DIR/t.qcow2.copy', fmt=3Dqcow2 cluster_size=3D65536 exten= ded_l2=3Doff compression_type=3Dzlib size=3D67108864 lazy_refcounts=3Doff r= efcount_bits=3D16 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk"}} @@ -61,7 +83,12 @@ Formatting 'TEST_DIR/t.qcow2.copy', fmt=3Dqcow2 cluster_= size=3D65536 extended_l2=3Doff =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'drive-backup', 'arguments': { 'device': 'disk', 'target': 'T= EST_DIR/t.IMGFMT.copy', 'format': 'IMGFMT', 'sync': 'full', 'speed': 65536 = } } +{ 'execute': 'drive-backup', + 'arguments': { 'device': 'disk', + 'target': 'TEST_DIR/t.IMGFMT.copy', + 'format': 'IMGFMT', + 'sync': 'full', + 'speed': 65536 } } Formatting 'TEST_DIR/t.qcow2.copy', fmt=3Dqcow2 cluster_size=3D65536 exten= ded_l2=3Doff compression_type=3Dzlib size=3D67108864 lazy_refcounts=3Doff r= efcount_bits=3D16 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk"}} @@ -77,7 +104,9 @@ Formatting 'TEST_DIR/t.qcow2.copy', fmt=3Dqcow2 cluster_= size=3D65536 extended_l2=3Doff =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{ 'execute': 'block-stream', 'arguments': { 'device': 'disk', 'speed': 655= 36 } } +{ 'execute': 'block-stream', + 'arguments': { 'device': 'disk', + 'speed': 65536 } } {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "disk"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "disk"}} {"return": {}} diff --git a/tests/qemu-iotests/191.out b/tests/qemu-iotests/191.out index 11aaf3b691..022021efab 100644 --- a/tests/qemu-iotests/191.out +++ b/tests/qemu-iotests/191.out @@ -16,7 +16,11 @@ wrote 65536/65536 bytes at offset 1048576 =20 =3D=3D=3D Perform commit job =3D=3D=3D =20 -{ 'execute': 'block-commit', 'arguments': { 'job-id': 'commit0', 'device':= 'top', 'base':'TEST_DIR/t.IMGFMT.base', 'top': 'TEST_DIR/t.IMGFMT.mid' } } +{ 'execute': 'block-commit', + 'arguments': { 'job-id': 'commit0', + 'device': 'top', + 'base':'TEST_DIR/t.IMGFMT.base', + 'top': 'TEST_DIR/t.IMGFMT.mid' } } { "timestamp": { "seconds": TIMESTAMP, @@ -427,7 +431,11 @@ wrote 65536/65536 bytes at offset 1048576 =20 =3D=3D=3D Perform commit job =3D=3D=3D =20 -{ 'execute': 'block-commit', 'arguments': { 'job-id': 'commit0', 'device':= 'top', 'base':'TEST_DIR/t.IMGFMT.base', 'top': 'TEST_DIR/t.IMGFMT.mid' } } +{ 'execute': 'block-commit', + 'arguments': { 'job-id': 'commit0', + 'device': 'top', + 'base':'TEST_DIR/t.IMGFMT.base', + 'top': 'TEST_DIR/t.IMGFMT.mid' } } { "timestamp": { "seconds": TIMESTAMP, diff --git a/tests/qemu-iotests/223.out b/tests/qemu-iotests/223.out index f6eac23f04..bbc85289e3 100644 --- a/tests/qemu-iotests/223.out +++ b/tests/qemu-iotests/223.out @@ -26,31 +26,48 @@ wrote 2097152/2097152 bytes at offset 2097152 =20 {"execute":"qmp_capabilities"} {"return": {}} -{"execute":"blockdev-add", "arguments":{"driver":"IMGFMT", "node-name":"n"= , "file":{"driver":"file", "filename":"TEST_DIR/t.IMGFMT"}}} +{"execute":"blockdev-add", + "arguments":{"driver":"IMGFMT", "node-name":"n", + "file":{"driver":"file", "filename":"TEST_DIR/t.IMGFMT"}}} {"return": {}} -{"execute":"block-dirty-bitmap-disable", "arguments":{"node":"n", "name":"= b"}} +{"execute":"block-dirty-bitmap-disable", + "arguments":{"node":"n", "name":"b"}} {"return": {}} =20 =3D=3D=3D Set up NBD with normal access =3D=3D=3D =20 -{"execute":"nbd-server-add", "arguments":{"device":"n"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n"}} {"error": {"class": "GenericError", "desc": "NBD server not running"}} -{"execute":"nbd-server-start", "arguments":{"addr":{"type":"unix", "data":= {"path":"SOCK_DIR/nbd"}}}} +{"execute":"nbd-server-start", + "arguments":{"addr":{"type":"unix", + "data":{"path":"SOCK_DIR/nbd"}}}} {"return": {}} -{"execute":"nbd-server-start", "arguments":{"addr":{"type":"unix", "data":= {"path":"SOCK_DIR/nbd1"}}}} +{"execute":"nbd-server-start", + "arguments":{"addr":{"type":"unix", + "data":{"path":"SOCK_DIR/nbd1"}}}} {"error": {"class": "GenericError", "desc": "NBD server already running"}} exports available: 0 -{"execute":"nbd-server-add", "arguments":{"device":"n", "bitmap":"b"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "bitmap":"b"}} {"return": {}} -{"execute":"nbd-server-add", "arguments":{"device":"nosuch"}} +{"execute":"nbd-server-add", + "arguments":{"device":"nosuch"}} {"error": {"class": "GenericError", "desc": "Cannot find device=3Dnosuch n= or node_name=3Dnosuch"}} -{"execute":"nbd-server-add", "arguments":{"device":"n"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n"}} {"error": {"class": "GenericError", "desc": "Block export id 'n' is alread= y in use"}} -{"execute":"nbd-server-add", "arguments":{"device":"n", "name":"n2", "bitm= ap":"b2"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "name":"n2", + "bitmap":"b2"}} {"error": {"class": "GenericError", "desc": "Enabled bitmap 'b2' incompati= ble with readonly export"}} -{"execute":"nbd-server-add", "arguments":{"device":"n", "name":"n2", "bitm= ap":"b3"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "name":"n2", + "bitmap":"b3"}} {"error": {"class": "GenericError", "desc": "Bitmap 'b3' is not found"}} -{"execute":"nbd-server-add", "arguments":{"device":"n", "name":"n2", "writ= able":true, "description":"some text", "bitmap":"b2"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "name":"n2", "writable":true, + "description":"some text", "bitmap":"b2"}} {"return": {}} exports available: 2 export: 'n' @@ -99,12 +116,15 @@ read 2097152/2097152 bytes at offset 2097152 =20 =3D=3D=3D End qemu NBD server =3D=3D=3D =20 -{"execute":"nbd-server-remove", "arguments":{"name":"n"}} +{"execute":"nbd-server-remove", + "arguments":{"name":"n"}} {"return": {}} -{"execute":"nbd-server-remove", "arguments":{"name":"n2"}} +{"execute":"nbd-server-remove", + "arguments":{"name":"n2"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "n"}} {"return": {}} -{"execute":"nbd-server-remove", "arguments":{"name":"n2"}} +{"execute":"nbd-server-remove", + "arguments":{"name":"n2"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "n2"}} {"error": {"class": "GenericError", "desc": "Export 'n2' is not found"}} {"execute":"nbd-server-stop"} @@ -114,26 +134,41 @@ read 2097152/2097152 bytes at offset 2097152 =20 =3D=3D=3D Set up NBD with iothread access =3D=3D=3D =20 -{"execute":"x-blockdev-set-iothread", "arguments":{"node-name":"n", "iothr= ead":"io0"}} +{"execute":"x-blockdev-set-iothread", + "arguments":{"node-name":"n", "iothread":"io0"}} {"return": {}} -{"execute":"nbd-server-add", "arguments":{"device":"n"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n"}} {"error": {"class": "GenericError", "desc": "NBD server not running"}} -{"execute":"nbd-server-start", "arguments":{"addr":{"type":"unix", "data":= {"path":"SOCK_DIR/nbd"}}}} +{"execute":"nbd-server-start", + "arguments":{"addr":{"type":"unix", + "data":{"path":"SOCK_DIR/nbd"}}}} {"return": {}} -{"execute":"nbd-server-start", "arguments":{"addr":{"type":"unix", "data":= {"path":"SOCK_DIR/nbd1"}}}} +{"execute":"nbd-server-start", + "arguments":{"addr":{"type":"unix", + "data":{"path":"SOCK_DIR/nbd1"}}}} {"error": {"class": "GenericError", "desc": "NBD server already running"}} exports available: 0 -{"execute":"nbd-server-add", "arguments":{"device":"n", "bitmap":"b"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "bitmap":"b"}} {"return": {}} -{"execute":"nbd-server-add", "arguments":{"device":"nosuch"}} +{"execute":"nbd-server-add", + "arguments":{"device":"nosuch"}} {"error": {"class": "GenericError", "desc": "Cannot find device=3Dnosuch n= or node_name=3Dnosuch"}} -{"execute":"nbd-server-add", "arguments":{"device":"n"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n"}} {"error": {"class": "GenericError", "desc": "Block export id 'n' is alread= y in use"}} -{"execute":"nbd-server-add", "arguments":{"device":"n", "name":"n2", "bitm= ap":"b2"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "name":"n2", + "bitmap":"b2"}} {"error": {"class": "GenericError", "desc": "Enabled bitmap 'b2' incompati= ble with readonly export"}} -{"execute":"nbd-server-add", "arguments":{"device":"n", "name":"n2", "bitm= ap":"b3"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "name":"n2", + "bitmap":"b3"}} {"error": {"class": "GenericError", "desc": "Bitmap 'b3' is not found"}} -{"execute":"nbd-server-add", "arguments":{"device":"n", "name":"n2", "writ= able":true, "description":"some text", "bitmap":"b2"}} +{"execute":"nbd-server-add", + "arguments":{"device":"n", "name":"n2", "writable":true, + "description":"some text", "bitmap":"b2"}} {"return": {}} exports available: 2 export: 'n' @@ -182,12 +217,15 @@ read 2097152/2097152 bytes at offset 2097152 =20 =3D=3D=3D End qemu NBD server =3D=3D=3D =20 -{"execute":"nbd-server-remove", "arguments":{"name":"n"}} +{"execute":"nbd-server-remove", + "arguments":{"name":"n"}} {"return": {}} -{"execute":"nbd-server-remove", "arguments":{"name":"n2"}} +{"execute":"nbd-server-remove", + "arguments":{"name":"n2"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "n"}} {"return": {}} -{"execute":"nbd-server-remove", "arguments":{"name":"n2"}} +{"execute":"nbd-server-remove", + "arguments":{"name":"n2"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "n2"}} {"error": {"class": "GenericError", "desc": "Export 'n2' is not found"}} {"execute":"nbd-server-stop"} diff --git a/tests/qemu-iotests/229.out b/tests/qemu-iotests/229.out index 7eed393013..7d2bfbfbe6 100644 --- a/tests/qemu-iotests/229.out +++ b/tests/qemu-iotests/229.out @@ -8,7 +8,14 @@ wrote 2097152/2097152 bytes at offset 0 =20 =3D=3D=3D Starting drive-mirror, causing error & stop =3D=3D=3D =20 -{'execute': 'drive-mirror', 'arguments': {'device': 'testdisk', 'format': = 'IMGFMT', 'target': 'blkdebug:TEST_DIR/blkdebug.conf:TEST_DIR/t.IMGFMT.dest= ', 'sync': 'full', 'mode': 'existing', 'on-source-error': 'stop', 'on-targe= t-error': 'stop' }} +{'execute': 'drive-mirror', + 'arguments': {'device': 'testdisk', + 'format': 'IMGFMT', + 'target': 'blkdebug:TEST_DIR/blkdebug.conf:= TEST_DIR/t.IMGFMT.dest', + 'sync': 'full', + 'mode': 'existing', + 'on-source-error': 'stop', + 'on-target-error': 'stop' }} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "testdisk"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "testdisk"}} {"return": {}} @@ -17,7 +24,9 @@ wrote 2097152/2097152 bytes at offset 0 =20 =3D=3D=3D Force cancel job paused in error state =3D=3D=3D =20 -{'execute': 'block-job-cancel', 'arguments': { 'device': 'testdisk', 'forc= e': true}} +{'execute': 'block-job-cancel', + 'arguments': { 'device': 'testdisk', + 'force': true}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "testdisk"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "testdisk"}} diff --git a/tests/qemu-iotests/249.out b/tests/qemu-iotests/249.out index 85acda4635..92ec81db03 100644 --- a/tests/qemu-iotests/249.out +++ b/tests/qemu-iotests/249.out @@ -7,24 +7,29 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10485= 76 backing_file=3DTEST_DIR/t. =20 =3D=3D=3D Send a write command to a drive opened in read-only mode (1) =20 -{ 'execute': 'human-monitor-command', 'arguments': {'command-line': 'qemu-= io none0 "aio_write 0 2k"'}} +{ 'execute': 'human-monitor-command', + 'arguments': {'command-line': 'qemu-io none0 "aio_write 0 2k"'}} {"return": "Block node is read-onlyrn"} =20 =3D=3D=3D Run block-commit on base using an invalid filter node name =20 -{ 'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'no= ne1', 'top-node': 'int', 'filter-node-name': '1234'}} +{ 'execute': 'block-commit', + 'arguments': {'job-id': 'job0', 'device': 'none1', 'top-node': 'int= ', + 'filter-node-name': '1234'}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} {"error": {"class": "GenericError", "desc": "Invalid node name"}} =20 =3D=3D=3D Send a write command to a drive opened in read-only mode (2) =20 -{ 'execute': 'human-monitor-command', 'arguments': {'command-line': 'qemu-= io none0 "aio_write 0 2k"'}} +{ 'execute': 'human-monitor-command', + 'arguments': {'command-line': 'qemu-io none0 "aio_write 0 2k"'}} {"return": "Block node is read-onlyrn"} =20 =3D=3D=3D Run block-commit on base using the default filter node name =20 -{ 'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'no= ne1', 'top-node': 'int'}} +{ 'execute': 'block-commit', + 'arguments': {'job-id': 'job0', 'device': 'none1', 'top-node': 'int= '}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} {"return": {}} @@ -36,6 +41,7 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10485= 76 backing_file=3DTEST_DIR/t. =20 =3D=3D=3D Send a write command to a drive opened in read-only mode (3) =20 -{ 'execute': 'human-monitor-command', 'arguments': {'command-line': 'qemu-= io none0 "aio_write 0 2k"'}} +{ 'execute': 'human-monitor-command', + 'arguments': {'command-line': 'qemu-io none0 "aio_write 0 2k"'}} {"return": "Block node is read-onlyrn"} *** done diff --git a/tests/qemu-iotests/308.out b/tests/qemu-iotests/308.out index b93aceed2e..466e7e0267 100644 --- a/tests/qemu-iotests/308.out +++ b/tests/qemu-iotests/308.out @@ -5,42 +5,91 @@ wrote 67108864/67108864 bytes at offset 0 64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {'execute': 'qmp_capabilities'} {"return": {}} -{'execute': 'blockdev-add', 'arguments': { 'driver': 'file', 'node-name': = 'node-protocol', 'filename': 'TEST_DIR/t.IMGFMT' } } +{'execute': 'blockdev-add', + 'arguments': { + 'driver': 'file', + 'node-name': 'node-protocol', + 'filename': 'TEST_DIR/t.IMGFMT' + } } {"return": {}} -{'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name'= : 'node-format', 'file': 'node-protocol' } } +{'execute': 'blockdev-add', + 'arguments': { + 'driver': 'IMGFMT', + 'node-name': 'node-format', + 'file': 'node-protocol' + } } {"return": {}} =20 =3D=3D=3D Mountpoint not present =3D=3D=3D -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-err', 'node-name': 'node-format', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'= } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-err', + 'node-name': 'node-format', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse' + } } {"error": {"class": "GenericError", "desc": "Failed to stat 'TEST_DIR/t.IM= GFMT.fuse': No such file or directory"}} =20 =3D=3D=3D Mountpoint is a directory =3D=3D=3D -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-err', 'node-name': 'node-format', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'= } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-err', + 'node-name': 'node-format', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse' + } } {"error": {"class": "GenericError", "desc": "'TEST_DIR/t.IMGFMT.fuse' is n= ot a regular file"}} =20 =3D=3D=3D Mountpoint is a regular file =3D=3D=3D -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-mp', 'node-name': 'node-format', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse' = } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-mp', + 'node-name': 'node-format', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse' + } } {"return": {}} Images are identical. =20 =3D=3D=3D Mount over existing file =3D=3D=3D -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-img', 'node-name': 'node-format', 'mountpoint': 'TEST_DIR/t.IMGFMT' } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-img', + 'node-name': 'node-format', + 'mountpoint': 'TEST_DIR/t.IMGFMT' + } } {"return": {}} Images are identical. =20 =3D=3D=3D Double export =3D=3D=3D -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-err', 'node-name': 'node-format', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'= } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-err', + 'node-name': 'node-format', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse' + } } {"error": {"class": "GenericError", "desc": "There already is a FUSE expor= t on 'TEST_DIR/t.IMGFMT.fuse'"}} =20 =3D=3D=3D Remove export =3D=3D=3D virtual size: 64 MiB (67108864 bytes) -{'execute': 'block-export-del', 'arguments': { 'id': 'export-mp' } } +{'execute': 'block-export-del', + 'arguments': { + 'id': 'export-mp' + } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}} virtual size: 0 B (0 bytes) =20 =3D=3D=3D Writable export =3D=3D=3D -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-mp', 'node-name': 'node-format', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse',= 'writable': true } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-mp', + 'node-name': 'node-format', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse', 'writable': true + } } {"return": {}} write failed: Permission denied wrote 65536/65536 bytes at offset 1048576 @@ -49,15 +98,30 @@ wrote 65536/65536 bytes at offset 1048576 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) =20 =3D=3D=3D Resizing exports =3D=3D=3D -{'execute': 'block-export-del', 'arguments': { 'id': 'export-mp' } } +{'execute': 'block-export-del', + 'arguments': { + 'id': 'export-mp' + } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}} -{'execute': 'block-export-del', 'arguments': { 'id': 'export-img' } } +{'execute': 'block-export-del', + 'arguments': { + 'id': 'export-img' + } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "export-img"}} -{'execute': 'blockdev-del', 'arguments': { 'node-name': 'node-format' } } +{'execute': 'blockdev-del', + 'arguments': { + 'node-name': 'node-format' + } } {"return": {}} -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-mp', 'node-name': 'node-protocol', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse= ', 'writable': true } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-mp', + 'node-name': 'node-protocol', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse', 'writable': true + } } {"return": {}} =20 --- Try growing non-growable export --- @@ -72,10 +136,19 @@ OK: Post-truncate image size is as expected OK: Disk usage grew with fallocate =20 --- Try growing growable export --- -{'execute': 'block-export-del', 'arguments': { 'id': 'export-mp' } } +{'execute': 'block-export-del', + 'arguments': { + 'id': 'export-mp' + } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}} -{'execute': 'block-export-add', 'arguments': { 'type': 'fuse', 'id': 'expo= rt-mp', 'node-name': 'node-protocol', 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse= ', 'writable': true, 'growable': true } } +{'execute': 'block-export-add', + 'arguments': { + 'type': 'fuse', + 'id': 'export-mp', + 'node-name': 'node-protocol', + 'mountpoint': 'TEST_DIR/t.IMGFMT.fuse', 'writable': true, 'g= rowable': true + } } {"return": {}} 65536+0 records in 65536+0 records out diff --git a/tests/qemu-iotests/312.out b/tests/qemu-iotests/312.out index cdd5c40e08..5615146b5c 100644 --- a/tests/qemu-iotests/312.out +++ b/tests/qemu-iotests/312.out @@ -52,13 +52,19 @@ read 65536/65536 bytes at offset 2424832 =20 { 'execute': 'qmp_capabilities' } {"return": {}} -{'execute': 'drive-mirror', 'arguments': {'device': 'virtio0', 'format': '= IMGFMT', 'target': 'TEST_DIR/t.IMGFMT.3', 'sync': 'full', 'mode': 'existing= ' }} +{'execute': 'drive-mirror', + 'arguments': {'device': 'virtio0', + 'format': 'IMGFMT', + 'target': 'TEST_DIR/t.IMGFMT.3', + 'sync': 'full', + 'mode': 'existing' }} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "virtio0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "virtio0"}} {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "virtio0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "BLOCK_JOB_READY", "data": {"device": "virtio0", "len": 10485760, "offset= ": 10485760, "speed": 0, "type": "mirror"}} -{ 'execute': 'block-job-complete', 'arguments': { 'device': 'virtio0' } } +{ 'execute': 'block-job-complete', + 'arguments': { 'device': 'virtio0' } } {"return": {}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "virtio0"}} {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event"= : "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "virtio0"}} diff --git a/tests/qemu-iotests/common.qemu b/tests/qemu-iotests/common.qemu index de680cf1c7..ef105dfc39 100644 --- a/tests/qemu-iotests/common.qemu +++ b/tests/qemu-iotests/common.qemu @@ -146,14 +146,9 @@ _send_qemu_cmd() count=3D${qemu_cmd_repeat} use_error=3D"no" fi - # This array element extraction is done to accommodate pathnames with = spaces - if [ -z "${success_or_failure}" ]; then - cmd=3D${@: 1:${#@}-1} - shift $(($# - 1)) - else - cmd=3D${@: 1:${#@}-2} - shift $(($# - 2)) - fi + + cmd=3D$1 + shift =20 # Display QMP being sent, but not HMP (since HMP already echoes its # input back to output); decide based on leading '{' --=20 2.29.2