All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/9] block: Fix dst reading after tail copy offloading
@ 2018-07-05  7:36 Fam Zheng
  2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 1/9] block: Add copy offloading trace points Fam Zheng
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Fam Zheng @ 2018-07-05  7:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-block, Fam Zheng, Kevin Wolf, Max Reitz, Jeff Cody,
	Eric Blake, John Snow, Stefan Hajnoczi

Qcow2 allocates new clusters after the end of the file. If it is the destinaton
of copy offloading, we must adjust dst->bs->total_sectors. Otherwise, further
reads will drop to the "beyond EOF" code path and return zeroes, which problem
is caught by iotests 222.

Follow the logic in the normal write code and update bs->total_sectors after
I/O is done.

While at it, add a few convenient trace points to aid future debug experiences
in the topic.

Fam Zheng (9):
  block: Add copy offloading trace points
  block: Use BdrvChild to discard
  block: Use uint64_t for BdrvTrackedRequest byte fields
  block: Extract common write req handling
  block: Fix handling of image enlarging write
  block: Use common req handling for discard
  block: Use common req handling in copy offloading
  block: Fix bdrv_co_truncate overlap check
  block: Use common write req handling in truncate

 block/blkdebug.c          |   2 +-
 block/blkreplay.c         |   2 +-
 block/block-backend.c     |   2 +-
 block/copy-on-read.c      |   2 +-
 block/file-posix.c        |   2 +
 block/io.c                | 163 +++++++++++++++++++++++++-------------
 block/iscsi.c             |   3 +
 block/mirror.c            |   2 +-
 block/qcow2-refcount.c    |   2 +-
 block/raw-format.c        |   2 +-
 block/throttle.c          |   2 +-
 block/trace-events        |   6 ++
 include/block/block.h     |   4 +-
 include/block/block_int.h |   4 +-
 14 files changed, 130 insertions(+), 68 deletions(-)

-- 
2.17.1

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

end of thread, other threads:[~2018-07-10  5:24 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-05  7:36 [Qemu-devel] [PATCH v2 0/9] block: Fix dst reading after tail copy offloading Fam Zheng
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 1/9] block: Add copy offloading trace points Fam Zheng
2018-07-05 11:08   ` Kevin Wolf
2018-07-06  6:24     ` Fam Zheng
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 2/9] block: Use BdrvChild to discard Fam Zheng
2018-07-05 11:00   ` Kevin Wolf
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 3/9] block: Use uint64_t for BdrvTrackedRequest byte fields Fam Zheng
2018-07-05 11:16   ` Kevin Wolf
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 4/9] block: Extract common write req handling Fam Zheng
2018-07-05 11:31   ` Kevin Wolf
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 5/9] block: Fix handling of image enlarging write Fam Zheng
2018-07-05 12:38   ` Kevin Wolf
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 6/9] block: Use common req handling for discard Fam Zheng
2018-07-05 12:44   ` Kevin Wolf
2018-07-06  6:51     ` Fam Zheng
2018-07-06  8:54       ` Kevin Wolf
2018-07-05  7:36 ` [Qemu-devel] [PATCH v2 7/9] block: Use common req handling in copy offloading Fam Zheng
2018-07-05  7:37 ` [Qemu-devel] [PATCH v2 8/9] block: Fix bdrv_co_truncate overlap check Fam Zheng
2018-07-06 22:09   ` Eric Blake
2018-07-10  5:24     ` Fam Zheng
2018-07-05  7:37 ` [Qemu-devel] [PATCH v2 9/9] block: Use common write req handling in truncate Fam Zheng
2018-07-06 22:12   ` Eric Blake
2018-07-09  1:33     ` Fam Zheng
2018-07-05 15:57 ` [Qemu-devel] [PATCH v2 0/9] block: Fix dst reading after tail copy offloading Kevin Wolf

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.