From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, fam@euphon.net, stefanha@redhat.com,
mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com,
den@openvz.org, vsementsov@virtuozzo.com
Subject: [PATCH v6 0/5] fix & merge block_status_above and is_allocated_above
Date: Wed, 16 Sep 2020 15:20:03 +0300 [thread overview]
Message-ID: <20200916122008.20303-1-vsementsov@virtuozzo.com> (raw)
Hi all!
These series are here to address the following problem:
block-status-above functions may consider space after EOF of
intermediate backing files as unallocated, which is wrong, as these
backing files are the reason of producing zeroes, we never go further by
backing chain after a short backing file. So, if such short-backing file
is _inside_ requested sub-chain of the backing chain, we should never
report space after its EOF as unallocated.
See patches 01,04,05 for details.
Note, that this series leaves for another day the general problem
around block-status: misuse of BDRV_BLOCK_ALLOCATED as is-fs-allocated
vs go-to-backing.
Audit for this problem is done here:
"backing chain & block status & filters"
https://lists.gnu.org/archive/html/qemu-devel/2020-04/msg04706.html
And I'm going to prepare series to address this problem.
Also, get_block_status func have same disease, but remains unfixed here:
I want to make separate series for it.
v6:
01: handle EOF better, don't merge reported ZERO-es with automatic after-EOF zeroes,
handle first layer out of the loop to make code read simpler. Drop r-b.
02: rebase on 01
05: update test output for extended l2 and backing file format, keep r-b
Based on series "PATCH v8 0/7] coroutines: generate wrapper code" or
in other words:
Based-on: <20200915164411.20590-1-vsementsov@virtuozzo.com>
Vladimir Sementsov-Ogievskiy (5):
block/io: fix bdrv_co_block_status_above
block/io: bdrv_common_block_status_above: support include_base
block/io: bdrv_common_block_status_above: support bs == base
block/io: fix bdrv_is_allocated_above
iotests: add commit top->base cases to 274
block/coroutines.h | 2 +
block/io.c | 126 +++++++++++++++++++++----------------
block/qcow2.c | 16 ++++-
tests/qemu-iotests/274 | 20 ++++++
tests/qemu-iotests/274.out | 68 ++++++++++++++++++++
5 files changed, 175 insertions(+), 57 deletions(-)
--
2.21.3
next reply other threads:[~2020-09-16 12:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 12:20 Vladimir Sementsov-Ogievskiy [this message]
2020-09-16 12:20 ` [PATCH v6 1/5] block/io: fix bdrv_co_block_status_above Vladimir Sementsov-Ogievskiy
2020-09-24 16:20 ` Alberto Garcia
2020-09-16 12:20 ` [PATCH v6 2/5] block/io: bdrv_common_block_status_above: support include_base Vladimir Sementsov-Ogievskiy
2020-09-23 16:18 ` Alberto Garcia
2020-09-23 17:11 ` Vladimir Sementsov-Ogievskiy
2020-09-23 17:47 ` Alberto Garcia
2020-09-23 17:49 ` Alberto Garcia
2020-09-16 12:20 ` [PATCH v6 3/5] block/io: bdrv_common_block_status_above: support bs == base Vladimir Sementsov-Ogievskiy
2020-09-23 16:22 ` Alberto Garcia
2020-09-16 12:20 ` [PATCH v6 4/5] block/io: fix bdrv_is_allocated_above Vladimir Sementsov-Ogievskiy
2020-09-24 16:21 ` Alberto Garcia
2020-09-16 12:20 ` [PATCH v6 5/5] iotests: add commit top->base cases to 274 Vladimir Sementsov-Ogievskiy
2020-09-24 16:24 ` Alberto Garcia
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=20200916122008.20303-1-vsementsov@virtuozzo.com \
--to=vsementsov@virtuozzo.com \
--cc=den@openvz.org \
--cc=eblake@redhat.com \
--cc=fam@euphon.net \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.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).