From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
vsementsov@virtuozzo.com, qemu-block@nongnu.org,
Fam Zheng <famz@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
Max Reitz <mreitz@redhat.com>, Jeff Cody <jcody@redhat.com>,
Eric Blake <eblake@redhat.com>, John Snow <jsnow@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: [Qemu-devel] [PATCH v3 00/10] block: Fix dst reading after tail copy offloading
Date: Tue, 10 Jul 2018 14:31:14 +0800 [thread overview]
Message-ID: <20180710063124.2263-1-famz@redhat.com> (raw)
Based-on: 20180709163719.87107-1-vsementsov@virtuozzo.com
v3: - Rebase onto Vladmir's:
[PATCH v5 0/4] fix image fleecing
on top of master, which has blklogwrites to be converted to BdrvChild for
the bdrv_co_pdiscard() parameter. [Kevin]
- Add file_ prefix to file protocol trace points. [Kevin]
- Assert that BdrvTrackedRequest bytes and offset don't overflow INT64_MAX.
[Kevin]
- Don't misuse req->offset/req->bytes in bdrv_co_write_req_prepare/finish.
[Kevin]
- Fix stat64_max. [Kevin]
- Keep lines within 80 columns. [Kevin]
- Grammar fix in commit message and rev-by. [Eric]
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 (10):
block: Prefix file driver trace points with "file_"
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/blklogwrites.c | 2 +-
block/blkreplay.c | 2 +-
block/block-backend.c | 2 +-
block/copy-on-read.c | 2 +-
block/file-posix.c | 4 +-
block/file-win32.c | 2 +-
block/io.c | 213 ++++++++++++++++++++++++--------------
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 | 10 +-
include/block/block.h | 4 +-
include/block/block_int.h | 4 +-
16 files changed, 163 insertions(+), 95 deletions(-)
--
2.17.1
next reply other threads:[~2018-07-10 6:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-10 6:31 Fam Zheng [this message]
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 01/10] block: Prefix file driver trace points with "file_" Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 02/10] block: Add copy offloading trace points Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 03/10] block: Use BdrvChild to discard Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 04/10] block: Use uint64_t for BdrvTrackedRequest byte fields Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 05/10] block: Extract common write req handling Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 06/10] block: Fix handling of image enlarging write Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 07/10] block: Use common req handling for discard Fam Zheng
2018-07-10 14:45 ` Kevin Wolf
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 08/10] block: Use common req handling in copy offloading Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 09/10] block: Fix bdrv_co_truncate overlap check Fam Zheng
2018-07-10 6:31 ` [Qemu-devel] [PATCH v3 10/10] block: Use common write req handling in truncate Fam Zheng
2018-07-10 14:46 ` [Qemu-devel] [PATCH v3 00/10] block: Fix dst reading after tail copy offloading Kevin Wolf
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=20180710063124.2263-1-famz@redhat.com \
--to=famz@redhat.com \
--cc=eblake@redhat.com \
--cc=jcody@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=vsementsov@virtuozzo.com \
/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).