All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@gmail.com>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-block@nongnu.org, Jeff Cody <jcody@redhat.com>,
	qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
	pbonzini@redhat.com, wangxiaolong@ucloud.cn
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH v2 0/6] block: Mirror discarded sectors
Date: Thu, 7 May 2015 14:20:28 +0100	[thread overview]
Message-ID: <20150507132028.GL13985@stefanha-thinkpad.redhat.com> (raw)
In-Reply-To: <1430887928-18189-1-git-send-email-famz@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2094 bytes --]

On Wed, May 06, 2015 at 12:52:02PM +0800, Fam Zheng wrote:
> v2: Fix typo and add Eric's rev-by in patch 3.
>     Add patch 1 to discard target in mirror job. (Paolo)
>     Add patch 6 to improve iotests.wait_ready. (John)
> 
> This fixes the mirror assert failure reported by wangxiaolong:
> 
> https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg04458.html
> 
> The direct cause is that hbitmap code couldn't handle unset of bits *after*
> iterator's current position. We could fix that, but the bdrv_reset_dirty() call
> is more questionable:
> 
> Before, if guest discarded some sectors during migration, it could see
> different data after moving to dest side, depending on block backends of the
> src and the dest. This is IMO worse than mirroring the actual reading as done
> in this series, because we don't know what the guest is doing.
> 
> For example if a guest first issues WRITE SAME to wipe out the area then issues
> UNMAP to discard it, just to get rid of some sensitive data completely, we may
> miss both operations and leave stale data on dest image.
> 
> 
> Fam Zheng (6):
>   mirror: Discard target sectors if not allocated at source side
>   block: Fix dirty bitmap in bdrv_co_discard
>   block: Remove bdrv_reset_dirty
>   qemu-iotests: Make block job methods common
>   qemu-iotests: Add test case for mirror with unmap
>   iotests: Use event_wait in wait_ready
> 
>  block.c                       | 12 --------
>  block/io.c                    |  4 +--
>  block/mirror.c                | 12 ++++++--
>  include/block/block_int.h     |  2 --
>  tests/qemu-iotests/041        | 66 ++++++++++---------------------------------
>  tests/qemu-iotests/131        | 59 ++++++++++++++++++++++++++++++++++++++
>  tests/qemu-iotests/131.out    |  5 ++++
>  tests/qemu-iotests/group      |  1 +
>  tests/qemu-iotests/iotests.py | 23 +++++++++++++++
>  9 files changed, 115 insertions(+), 69 deletions(-)
>  create mode 100644 tests/qemu-iotests/131
>  create mode 100644 tests/qemu-iotests/131.out

CCing Jeff Cody for block jobs

[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]

  parent reply	other threads:[~2015-05-07 13:20 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-06  4:52 [Qemu-devel] [PATCH v2 0/6] block: Mirror discarded sectors Fam Zheng
2015-05-06  4:52 ` [Qemu-devel] [PATCH v2 1/6] mirror: Discard target sectors if not allocated at source side Fam Zheng
2015-05-06  4:52 ` [Qemu-devel] [PATCH v2 2/6] block: Fix dirty bitmap in bdrv_co_discard Fam Zheng
2015-05-11 19:22   ` John Snow
2015-05-12  6:21     ` Fam Zheng
2015-05-06  4:52 ` [Qemu-devel] [PATCH v2 3/6] block: Remove bdrv_reset_dirty Fam Zheng
2015-05-11 19:11   ` John Snow
2015-05-06  4:52 ` [Qemu-devel] [PATCH v2 4/6] qemu-iotests: Make block job methods common Fam Zheng
2015-05-11 19:55   ` John Snow
2015-05-06  4:52 ` [Qemu-devel] [PATCH v2 5/6] qemu-iotests: Add test case for mirror with unmap Fam Zheng
2015-05-11 19:59   ` John Snow
2015-05-06  4:52 ` [Qemu-devel] [PATCH v2 6/6] iotests: Use event_wait in wait_ready Fam Zheng
2015-05-11 20:34   ` John Snow
2015-05-07 13:20 ` Stefan Hajnoczi [this message]
2015-05-08  2:58   ` [Qemu-devel] [Qemu-block] [PATCH v2 0/6] block: Mirror discarded sectors Fam Zheng

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=20150507132028.GL13985@stefanha-thinkpad.redhat.com \
    --to=stefanha@gmail.com \
    --cc=famz@redhat.com \
    --cc=jcody@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=wangxiaolong@ucloud.cn \
    /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 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.