From: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
To: John Snow <jsnow@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Qemu-block <qemu-block@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] iotests: Set read-zeroes on in null block driver for Valgrind
Date: Fri, 19 Jul 2019 09:23:52 +0000 [thread overview]
Message-ID: <48b2ab32-e84a-72b0-d993-100fd0f461fb@virtuozzo.com> (raw)
In-Reply-To: <7ee94c65-4ece-21ed-928d-09092bff1f6f@redhat.com>
On 19/07/2019 03:14, John Snow wrote:
>
>
> On 7/15/19 12:06 PM, Andrey Shinkevich wrote:
>> 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 <kwolf@redhat.com>
>> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
>
> CC qemu-block;
>
> Do you have a list of which tests pass cleanly via valgrind and which do
> not? At the moment when I try I get a lot of errors from loaded
> libraries, so it's hard to sift through.
>
> --js
>
It can be a segmentation fault in the tests 093 and 136 after applying
this series because of the known issue:
Message ID: <cover.1550842915.git.berto@igalia.com>
or
https://lists.nongnu.org/archive/html/qemu-devel/2019-02/msg06174.html
I have not got other issues when running iotests with the default
Valgrind parameters.
Would you please send me the command you run the iotests under the
Valgrind with?
Andrey
>> ---
>> Note:
>> The change in the tests 093 and 136 reveals the race condition in chardev.
>> The patch "chardev: race condition with tcp_chr_disconnect" has been emailed
>> to qemu-devel@nongnu.org on July, 12 of 2019 with the Message ID
>> <1562959033-223586-1-git-send-email-andrey.shinkevich@virtuozzo.com>
>>
>> tests/qemu-iotests/051 | 10 +--
>> tests/qemu-iotests/051.pc.out | 10 +--
>> tests/qemu-iotests/093 | 9 +--
>> tests/qemu-iotests/136 | 1 +
>> tests/qemu-iotests/186 | 20 +++---
>> tests/qemu-iotests/186.out | 152 +++++++++++++++++++++---------------------
>> tests/qemu-iotests/227 | 4 +-
>> tests/qemu-iotests/227.out | 4 +-
>> tests/qemu-iotests/238 | 2 +-
>> tests/qemu-iotests/240 | 8 +--
>> 10 files changed, 111 insertions(+), 109 deletions(-)
>>
>> diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
>> index 200660f..ce942a5 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 2d811c1..000557c 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 d88fbc1..4b2cac1 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 af7ffa4..a46a7b7 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 7e7d45b..5f6b18c 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 716b01a..5b35040 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 bdd727a..637d7c3 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 e77efaf..3dd3ca5 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 1c0a46f..08bc7e6 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 5be6b9c..f73bc07 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"}}
>>
--
With the best regards,
Andrey Shinkevich
next prev parent reply other threads:[~2019-07-19 9:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-15 16:06 [Qemu-devel] [PATCH] iotests: Set read-zeroes on in null block driver for Valgrind Andrey Shinkevich
2019-07-19 0:14 ` John Snow
2019-07-19 9:23 ` Andrey Shinkevich [this message]
2019-07-19 14:15 ` Andrey Shinkevich
2019-07-15 16:07 Andrey Shinkevich
2019-07-16 11:19 ` Kevin Wolf
2019-07-17 7:33 ` Andrey Shinkevich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48b2ab32-e84a-72b0-d993-100fd0f461fb@virtuozzo.com \
--to=andrey.shinkevich@virtuozzo.com \
--cc=jsnow@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).