[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PULL 01/13] iotests: Set read-zeroes on i
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PULL 01/13] iotests: Set read-zeroes on in null block driver for Valgrind |
Date: |
Wed, 24 Jul 2019 09:18:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 |
On 19.07.19 15:43, Kevin Wolf wrote:
> From: Andrey Shinkevich <address@hidden>
>
> The Valgrind tool reports about the uninitialised buffer 'buf'
> instantiated on the stack of the function guess_disk_lchs().
> Pass 'read-zeroes=on' to the null block driver to make it deterministic.
> The output of the tests 051, 186 and 227 now includes the parameter
> 'read-zeroes'. So, the benchmark output files are being changed too.
>
> Suggested-by: Kevin Wolf <address@hidden>
> Signed-off-by: Andrey Shinkevich <address@hidden>
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
> tests/qemu-iotests/051 | 10 +--
> tests/qemu-iotests/051.pc.out | 10 +--
> tests/qemu-iotests/093 | 9 +-
[...9
I now get the following on s390.
Seems that you only fixed 051.pc.out but not 051.out
051 ... [09:01:49] ... 051
[1m[31mfail [0m [09:01:49] [09:01:50] output
mismatch (see 051.out.bad)
--- tests/qemu-iotests/051.out 2019-07-09 18:34:26.734654933 +0200
+++ build/tests/qemu-iotests/051.out.bad 2019-07-24 09:01:50.015024901
+0200
@@ -149,23 +149,23 @@
=== Cache modes ===
-Testing: -drive driver=null-co,cache=none
+Testing: -drive driver=null-co,read-zeroes=on,cache=none
QEMU X.Y.Z monitor - type 'help' for more information
(qemu) quit
-Testing: -drive driver=null-co,cache=directsync
+Testing: -drive driver=null-co,read-zeroes=on,cache=directsync
QEMU X.Y.Z monitor - type 'help' for more information
(qemu) quit
-Testing: -drive driver=null-co,cache=writeback
+Testing: -drive driver=null-co,read-zeroes=on,cache=writeback
QEMU X.Y.Z monitor - type 'help' for more information
(qemu) quit
-Testing: -drive driver=null-co,cache=writethrough
+Testing: -drive driver=null-co,read-zeroes=on,cache=writethrough
QEMU X.Y.Z monitor - type 'help' for more information
(qemu) quit
-Testing: -drive driver=null-co,cache=unsafe
+Testing: -drive driver=null-co,read-zeroes=on,cache=unsafe
QEMU X.Y.Z monitor - type 'help' for more information
(qemu) quit
>
> diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
> index 200660f977..ce942a5444 100755
> --- a/tests/qemu-iotests/051
> +++ b/tests/qemu-iotests/051
> @@ -251,11 +251,11 @@ echo
> # Cannot use the test image because cache=none might not work on the host FS
> # Use cdrom so that we won't get errors about missing media
>
> -run_qemu -drive driver=null-co,cache=none
> -run_qemu -drive driver=null-co,cache=directsync
> -run_qemu -drive driver=null-co,cache=writeback
> -run_qemu -drive driver=null-co,cache=writethrough
> -run_qemu -drive driver=null-co,cache=unsafe
> +run_qemu -drive driver=null-co,read-zeroes=on,cache=none
> +run_qemu -drive driver=null-co,read-zeroes=on,cache=directsync
> +run_qemu -drive driver=null-co,read-zeroes=on,cache=writeback
> +run_qemu -drive driver=null-co,read-zeroes=on,cache=writethrough
> +run_qemu -drive driver=null-co,read-zeroes=on,cache=unsafe
> run_qemu -drive driver=null-co,cache=invalid_value
>
> # Can't test direct=on here because O_DIRECT might not be supported on this
> FS
> diff --git a/tests/qemu-iotests/051.pc.out b/tests/qemu-iotests/051.pc.out
> index 2d811c166c..000557c7c8 100644
> --- a/tests/qemu-iotests/051.pc.out
> +++ b/tests/qemu-iotests/051.pc.out
> @@ -245,23 +245,23 @@ QEMU X.Y.Z monitor - type 'help' for more information
>
> === Cache modes ===
>
> -Testing: -drive driver=null-co,cache=none
> +Testing: -drive driver=null-co,read-zeroes=on,cache=none
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) quit
>
> -Testing: -drive driver=null-co,cache=directsync
> +Testing: -drive driver=null-co,read-zeroes=on,cache=directsync
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) quit
>
> -Testing: -drive driver=null-co,cache=writeback
> +Testing: -drive driver=null-co,read-zeroes=on,cache=writeback
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) quit
>
> -Testing: -drive driver=null-co,cache=writethrough
> +Testing: -drive driver=null-co,read-zeroes=on,cache=writethrough
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) quit
>
> -Testing: -drive driver=null-co,cache=unsafe
> +Testing: -drive driver=null-co,read-zeroes=on,cache=unsafe
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) quit
>
> diff --git a/tests/qemu-iotests/093 b/tests/qemu-iotests/093
> index d88fbc182e..4b2cac1d0c 100755
> --- a/tests/qemu-iotests/093
> +++ b/tests/qemu-iotests/093
> @@ -38,7 +38,7 @@ class ThrottleTestCase(iotests.QMPTestCase):
> def setUp(self):
> self.vm = iotests.VM()
> for i in range(0, self.max_drives):
> - self.vm.add_drive(self.test_img)
> + self.vm.add_drive(self.test_img, "file.read-zeroes=on")
> self.vm.launch()
>
> def tearDown(self):
> @@ -273,7 +273,8 @@ class ThrottleTestGroupNames(iotests.QMPTestCase):
> def setUp(self):
> self.vm = iotests.VM()
> for i in range(0, self.max_drives):
> - self.vm.add_drive(self.test_img, "throttling.iops-total=100")
> + self.vm.add_drive(self.test_img,
> +
> "throttling.iops-total=100,file.read-zeroes=on")
> self.vm.launch()
>
> def tearDown(self):
> @@ -378,10 +379,10 @@ class ThrottleTestRemovableMedia(iotests.QMPTestCase):
> def test_removable_media(self):
> # Add a couple of dummy nodes named cd0 and cd1
> result = self.vm.qmp("blockdev-add", driver="null-aio",
> - node_name="cd0")
> + read_zeroes=True, node_name="cd0")
> self.assert_qmp(result, 'return', {})
> result = self.vm.qmp("blockdev-add", driver="null-aio",
> - node_name="cd1")
> + read_zeroes=True, node_name="cd1")
> self.assert_qmp(result, 'return', {})
>
> # Attach a CD drive with cd0 inserted
> diff --git a/tests/qemu-iotests/136 b/tests/qemu-iotests/136
> index af7ffa4540..a46a7b7630 100755
> --- a/tests/qemu-iotests/136
> +++ b/tests/qemu-iotests/136
> @@ -74,6 +74,7 @@ sector = "%d"
> (self.account_invalid and "on" or "off"))
> drive_args.append("stats-account-failed=%s" %
> (self.account_failed and "on" or "off"))
> + drive_args.append("file.image.read-zeroes=on")
> self.create_blkdebug_file()
> self.vm = iotests.VM().add_drive('blkdebug:%s:%s' %
> (blkdebug_file, self.test_img),
> diff --git a/tests/qemu-iotests/186 b/tests/qemu-iotests/186
> index 7e7d45babc..5f6b18c150 100755
> --- a/tests/qemu-iotests/186
> +++ b/tests/qemu-iotests/186
> @@ -86,8 +86,8 @@ echo "=== -blockdev/-device=<node-name> ==="
> echo
>
> for dev in $fixed $removable; do
> - check_info_block -blockdev driver=null-co,node-name=null -device
> $dev,drive=null
> - check_info_block -blockdev driver=null-co,node-name=null -device
> $dev,drive=null,id=qdev_id
> + check_info_block -blockdev driver=null-co,read-zeroes=on,node-name=null
> -device $dev,drive=null
> + check_info_block -blockdev driver=null-co,read-zeroes=on,node-name=null
> -device $dev,drive=null,id=qdev_id
> done
>
> echo
> @@ -97,7 +97,7 @@ echo
> # This creates two BlockBackends that will show up in 'info block'!
> # A monitor-owned one from -drive, and anonymous one from -device
> for dev in $fixed $removable; do
> - check_info_block -drive if=none,driver=null-co,node-name=null -device
> $dev,drive=null,id=qdev_id
> + check_info_block -drive
> if=none,driver=null-co,read-zeroes=on,node-name=null -device
> $dev,drive=null,id=qdev_id
> done
>
> echo
> @@ -105,8 +105,8 @@ echo "=== -drive if=none/-device=<bb-name> (with medium)
> ==="
> echo
>
> for dev in $fixed $removable; do
> - check_info_block -drive if=none,driver=null-co,node-name=null -device
> $dev,drive=none0
> - check_info_block -drive if=none,driver=null-co,node-name=null -device
> $dev,drive=none0,id=qdev_id
> + check_info_block -drive
> if=none,driver=null-co,read-zeroes=on,node-name=null -device $dev,drive=none0
> + check_info_block -drive
> if=none,driver=null-co,read-zeroes=on,node-name=null -device
> $dev,drive=none0,id=qdev_id
> done
>
> echo
> @@ -125,15 +125,15 @@ echo "=== -drive if=... ==="
> echo
>
> check_info_block -drive if=floppy
> -check_info_block -drive if=floppy,driver=null-co
> +check_info_block -drive if=floppy,driver=null-co,read-zeroes=on
>
> -check_info_block -drive if=ide,driver=null-co
> +check_info_block -drive if=ide,driver=null-co,read-zeroes=on
> check_info_block -drive if=ide,media=cdrom
> -check_info_block -drive if=ide,driver=null-co,media=cdrom
> +check_info_block -drive if=ide,driver=null-co,read-zeroes=on,media=cdrom
>
> -check_info_block -drive if=virtio,driver=null-co
> +check_info_block -drive if=virtio,driver=null-co,read-zeroes=on
>
> -check_info_block -drive if=pflash,driver=null-co,size=1M
> +check_info_block -drive if=pflash,driver=null-co,read-zeroes=on,size=1M
>
> # success, all done
> echo "*** done"
> diff --git a/tests/qemu-iotests/186.out b/tests/qemu-iotests/186.out
> index 716b01ac3d..5b3504042a 100644
> --- a/tests/qemu-iotests/186.out
> +++ b/tests/qemu-iotests/186.out
> @@ -54,103 +54,103 @@ qdev_id: [not inserted]
>
> === -blockdev/-device=<node-name> ===
>
> -Testing: -blockdev driver=null-co,node-name=null -device ide-hd,drive=null
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> ide-hd,drive=null
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> ide-hd,drive=null,id=qdev_id
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> ide-hd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device scsi-hd,drive=null
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> scsi-hd,drive=null
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> scsi-hd,drive=null,id=qdev_id
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> scsi-hd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> virtio-blk-pci,drive=null
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk-pci,drive=null
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> virtio-blk-pci,drive=null,id=qdev_id
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk-pci,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device floppy,drive=null
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> floppy,drive=null
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> floppy,drive=null,id=qdev_id
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> floppy,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device ide-cd,drive=null
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> ide-cd,drive=null
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> ide-cd,drive=null,id=qdev_id
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> ide-cd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device scsi-cd,drive=null
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> scsi-cd,drive=null
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> scsi-cd,drive=null,id=qdev_id
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> scsi-cd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": true, "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> @@ -159,76 +159,76 @@ null: null-co:// (null-co)
>
> === -drive if=none/-device=<node-name> ===
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> ide-hd,drive=null,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> ide-hd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Removable device: not locked, tray closed
> Cache mode: writeback
>
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> scsi-hd,drive=null,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> scsi-hd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Removable device: not locked, tray closed
> Cache mode: writeback
>
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> virtio-blk-pci,drive=null,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk-pci,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Removable device: not locked, tray closed
> Cache mode: writeback
>
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> floppy,drive=null,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> floppy,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Removable device: not locked, tray closed
> Cache mode: writeback
>
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> ide-cd,drive=null,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> ide-cd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Removable device: not locked, tray closed
> Cache mode: writeback
>
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> scsi-cd,drive=null,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> scsi-cd,drive=null,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Removable device: not locked, tray closed
> Cache mode: writeback
>
> -null: null-co:// (null-co)
> +null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> @@ -237,103 +237,103 @@ null: null-co:// (null-co)
>
> === -drive if=none/-device=<bb-name> (with medium) ===
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> ide-hd,drive=none0
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> ide-hd,drive=none0
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> ide-hd,drive=none0,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> ide-hd,drive=none0,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> scsi-hd,drive=none0
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> scsi-hd,drive=none0
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> scsi-hd,drive=none0,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> scsi-hd,drive=none0,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> virtio-blk-pci,drive=none0
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk-pci,drive=none0
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> virtio-blk-pci,drive=none0,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk-pci,drive=none0,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> floppy,drive=none0
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> floppy,drive=none0
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> floppy,drive=none0,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> floppy,drive=none0,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> ide-cd,drive=none0
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> ide-cd,drive=none0
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> ide-cd,drive=none0,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> ide-cd,drive=none0,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> scsi-cd,drive=none0
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> scsi-cd,drive=none0
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=none,driver=null-co,node-name=null -device
> scsi-cd,drive=none0,id=qdev_id
> +Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device
> scsi-cd,drive=none0,id=qdev_id
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -none0 (null): null-co:// (null-co)
> +none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co)
> Attached to: qdev_id
> Removable device: not locked, tray closed
> Cache mode: writeback
> @@ -408,19 +408,19 @@ floppy0: [not inserted]
> Removable device: not locked, tray closed
> (qemu) quit
>
> -Testing: -drive if=floppy,driver=null-co
> +Testing: -drive if=floppy,driver=null-co,read-zeroes=on
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -floppy0 (NODE_NAME): null-co:// (null-co)
> +floppy0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"}
> (null-co)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=ide,driver=null-co
> +Testing: -drive if=ide,driver=null-co,read-zeroes=on
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -ide0-hd0 (NODE_NAME): null-co:// (null-co)
> +ide0-hd0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"}
> (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
> @@ -433,27 +433,27 @@ ide0-cd0: [not inserted]
> Removable device: not locked, tray closed
> (qemu) quit
>
> -Testing: -drive if=ide,driver=null-co,media=cdrom
> +Testing: -drive if=ide,driver=null-co,read-zeroes=on,media=cdrom
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -ide0-cd0 (NODE_NAME): null-co:// (null-co, read-only)
> +ide0-cd0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"}
> (null-co, read-only)
> Attached to: PATH
> Removable device: not locked, tray closed
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=virtio,driver=null-co
> +Testing: -drive if=virtio,driver=null-co,read-zeroes=on
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -virtio0 (NODE_NAME): null-co:// (null-co)
> +virtio0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"}
> (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
>
> -Testing: -drive if=pflash,driver=null-co,size=1M
> +Testing: -drive if=pflash,driver=null-co,read-zeroes=on,size=1M
> QEMU X.Y.Z monitor - type 'help' for more information
> (qemu) info block
> -pflash0 (NODE_NAME): json:{"driver": "null-co", "size": "1M"} (null-co)
> +pflash0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co", "size":
> "1M"} (null-co)
> Attached to: PATH
> Cache mode: writeback
> (qemu) quit
> diff --git a/tests/qemu-iotests/227 b/tests/qemu-iotests/227
> index bdd727a721..637d7c3726 100755
> --- a/tests/qemu-iotests/227
> +++ b/tests/qemu-iotests/227
> @@ -57,7 +57,7 @@ echo
> echo '=== blockstats with -drive if=virtio ==='
> echo
>
> -run_qemu -drive driver=null-co,if=virtio <<EOF
> +run_qemu -drive driver=null-co,read-zeroes=on,if=virtio <<EOF
> { "execute": "qmp_capabilities" }
> { "execute": "query-blockstats"}
> { "execute": "quit" }
> @@ -87,7 +87,7 @@ echo
> echo '=== blockstats with -blockdev and -device ==='
> echo
>
> -run_qemu -blockdev driver=null-co,node-name=null -device
> virtio-blk,drive=null,id=virtio0 <<EOF
> +run_qemu -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk,drive=null,id=virtio0 <<EOF
> { "execute": "qmp_capabilities" }
> { "execute": "query-blockstats"}
> { "execute": "quit" }
> diff --git a/tests/qemu-iotests/227.out b/tests/qemu-iotests/227.out
> index e77efaf4cf..3dd3ca5708 100644
> --- a/tests/qemu-iotests/227.out
> +++ b/tests/qemu-iotests/227.out
> @@ -2,7 +2,7 @@ QA output created by 227
>
> === blockstats with -drive if=virtio ===
>
> -Testing: -drive driver=null-co,if=virtio
> +Testing: -drive driver=null-co,read-zeroes=on,if=virtio
> {
> QMP_VERSION
> }
> @@ -150,7 +150,7 @@ Testing: -blockdev driver=null-co,node-name=null
>
> === blockstats with -blockdev and -device ===
>
> -Testing: -blockdev driver=null-co,node-name=null -device
> virtio-blk,drive=null,id=virtio0
> +Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device
> virtio-blk,drive=null,id=virtio0
> {
> QMP_VERSION
> }
> diff --git a/tests/qemu-iotests/238 b/tests/qemu-iotests/238
> index 1c0a46fa90..08bc7e6b4b 100755
> --- a/tests/qemu-iotests/238
> +++ b/tests/qemu-iotests/238
> @@ -31,7 +31,7 @@ else:
> vm = iotests.VM()
> vm.launch()
>
> -log(vm.qmp('blockdev-add', node_name='hd0', driver='null-co'))
> +log(vm.qmp('blockdev-add', node_name='hd0', driver='null-co',
> read_zeroes=True))
> log(vm.qmp('object-add', qom_type='iothread', id='iothread0'))
> log(vm.qmp('device_add', id='scsi0', driver=virtio_scsi_device,
> iothread='iothread0'))
> log(vm.qmp('device_add', id='scsi-hd0', driver='scsi-hd', drive='hd0'))
> diff --git a/tests/qemu-iotests/240 b/tests/qemu-iotests/240
> index 5be6b9c0f7..f73bc07d80 100755
> --- a/tests/qemu-iotests/240
> +++ b/tests/qemu-iotests/240
> @@ -76,7 +76,7 @@ echo
>
> run_qemu <<EOF
> { "execute": "qmp_capabilities" }
> -{ "execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name":
> "hd0"}}
> +{ "execute": "blockdev-add", "arguments": {"driver": "null-co",
> "read-zeroes": true, "node-name": "hd0"}}
> { "execute": "object-add", "arguments": {"qom-type": "iothread", "id":
> "iothread0"}}
> { "execute": "device_add", "arguments": {"id": "scsi0", "driver":
> "${virtio_scsi}", "iothread": "iothread0"}}
> { "execute": "device_add", "arguments": {"id": "scsi-hd0", "driver":
> "scsi-hd", "drive": "hd0"}}
> @@ -94,7 +94,7 @@ echo
>
> run_qemu <<EOF
> { "execute": "qmp_capabilities" }
> -{ "execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name":
> "hd0", "read-only": true}}
> +{ "execute": "blockdev-add", "arguments": {"driver": "null-co",
> "read-zeroes": true, "node-name": "hd0", "read-only": true}}
> { "execute": "object-add", "arguments": {"qom-type": "iothread", "id":
> "iothread0"}}
> { "execute": "device_add", "arguments": {"id": "scsi0", "driver":
> "${virtio_scsi}", "iothread": "iothread0"}}
> { "execute": "device_add", "arguments": {"id": "scsi-hd0", "driver":
> "scsi-hd", "drive": "hd0"}}
> @@ -112,7 +112,7 @@ echo
>
> run_qemu <<EOF
> { "execute": "qmp_capabilities" }
> -{ "execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name":
> "hd0", "read-only": true}}
> +{ "execute": "blockdev-add", "arguments": {"driver": "null-co",
> "read-zeroes": true, "node-name": "hd0", "read-only": true}}
> { "execute": "object-add", "arguments": {"qom-type": "iothread", "id":
> "iothread0"}}
> { "execute": "object-add", "arguments": {"qom-type": "iothread", "id":
> "iothread1"}}
> { "execute": "device_add", "arguments": {"id": "scsi0", "driver":
> "${virtio_scsi}", "iothread": "iothread0"}}
> @@ -134,7 +134,7 @@ echo
>
> run_qemu <<EOF
> { "execute": "qmp_capabilities" }
> -{ "execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name":
> "hd0", "read-only": true}}
> +{ "execute": "blockdev-add", "arguments": {"driver": "null-co",
> "read-zeroes": true, "node-name": "hd0", "read-only": true}}
> { "execute": "nbd-server-start", "arguments":
> {"addr":{"type":"unix","data":{"path":"$TEST_DIR/nbd"}}}}
> { "execute": "nbd-server-add", "arguments": {"device":"hd0"}}
> { "execute": "object-add", "arguments": {"qom-type": "iothread", "id":
> "iothread0"}}
>
[Qemu-block] [PULL 05/13] block: Make bdrv_parent_drained_[^_]*() static, Kevin Wolf, 2019/07/19
[Qemu-block] [PULL 06/13] tests: Lock AioContexts in test-block-iothread, Kevin Wolf, 2019/07/19
[Qemu-block] [PULL 07/13] block: Do not poll in bdrv_do_drained_end(), Kevin Wolf, 2019/07/19