All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] block: Avoid copy-on-read assertions
@ 2017-09-30 19:53 Eric Blake
  2017-09-30 19:53 ` [Qemu-devel] [PATCH 1/4] qemu-io: Add -C for opening with copy-on-read Eric Blake
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Eric Blake @ 2017-09-30 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: jsnow, kwolf, qemu-block

During my quest to switch block status to be byte-based, John
forced me to evaluate whether we have a situation during
copy-on-read where we could exceed BDRV_REQUEST_MAX_BYTES [1].
Sure enough, we have a number of pre-existing bugs in the
copy-on-read code.  Fix those (patch 3), along with adding a
test (patch 4, but needs a couple of additions in patch 1 and
2 to make the test even possible).  Swapping patch 3 and 4
demonstrates that the test indeed exposes flaws.

[1] https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg07286.html

Eric Blake (4):
  qemu-io: Add -C for opening with copy-on-read
  block: Add blkdebug hook for copy-on-read
  block: Perform copy-on-read in loop
  iotests: Add test 197 for covering copy-on-read

 qapi/block-core.json             |   5 +-
 block/io.c                       | 118 +++++++++++++++++++++++++++------------
 qemu-io.c                        |  15 ++++-
 tests/qemu-iotests/common.filter |   1 +
 tests/qemu-iotests/197           |  93 ++++++++++++++++++++++++++++++
 tests/qemu-iotests/197.out       |  24 ++++++++
 tests/qemu-iotests/group         |   1 +
 7 files changed, 216 insertions(+), 41 deletions(-)
 create mode 100755 tests/qemu-iotests/197
 create mode 100644 tests/qemu-iotests/197.out

-- 
2.13.6

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-10-02 19:28 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-30 19:53 [Qemu-devel] [PATCH 0/4] block: Avoid copy-on-read assertions Eric Blake
2017-09-30 19:53 ` [Qemu-devel] [PATCH 1/4] qemu-io: Add -C for opening with copy-on-read Eric Blake
2017-10-01  3:00   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2017-10-02 14:52   ` [Qemu-devel] " Kevin Wolf
2017-10-02 18:03   ` John Snow
2017-10-02 19:28   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-09-30 19:53 ` [Qemu-devel] [PATCH 2/4] block: Add blkdebug hook for copy-on-read Eric Blake
2017-10-01  3:00   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2017-10-02 14:52   ` [Qemu-devel] " Kevin Wolf
2017-10-02 18:08   ` John Snow
2017-10-02 19:28   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-09-30 19:53 ` [Qemu-devel] [PATCH 3/4] block: Perform copy-on-read in loop Eric Blake
2017-09-30 20:11 ` [Qemu-devel] [PATCH 4/4] iotests: Add test 197 for covering copy-on-read Eric Blake
2017-10-01  3:03   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2017-10-02 13:55     ` Eric Blake
2017-10-02 14:04       ` Jeff Cody
2017-09-30 21:19 ` [Qemu-devel] [PATCH 0/4] block: Avoid copy-on-read assertions no-reply
2017-09-30 22:05   ` Eric Blake
2017-10-02 14:50     ` Kevin Wolf
2017-10-02 15:10       ` Eric Blake

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.