From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: [PATCH v4 03/19] block: Drop bdrv_is_first_non_filter()
Date: Tue, 18 Feb 2020 11:34:38 +0100 [thread overview]
Message-ID: <20200218103454.296704-4-mreitz@redhat.com> (raw)
In-Reply-To: <20200218103454.296704-1-mreitz@redhat.com>
It is unused now. (And it was ugly because it needed to explore all BDS
chains from the top.)
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
block.c | 26 --------------------------
include/block/block.h | 1 -
2 files changed, 27 deletions(-)
diff --git a/block.c b/block.c
index 998bb41a5b..f6731fa9be 100644
--- a/block.c
+++ b/block.c
@@ -6235,32 +6235,6 @@ bool bdrv_recurse_is_first_non_filter(BlockDriverState *bs,
return false;
}
-/* This function checks if the candidate is the first non filter bs down it's
- * bs chain. Since we don't have pointers to parents it explore all bs chains
- * from the top. Some filters can choose not to pass down the recursion.
- */
-bool bdrv_is_first_non_filter(BlockDriverState *candidate)
-{
- BlockDriverState *bs;
- BdrvNextIterator it;
-
- /* walk down the bs forest recursively */
- for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
- bool perm;
-
- /* try to recurse in this top level bs */
- perm = bdrv_recurse_is_first_non_filter(bs, candidate);
-
- /* candidate is the first non filter */
- if (perm) {
- bdrv_next_cleanup(&it);
- return true;
- }
- }
-
- return false;
-}
-
BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
const char *node_name, Error **errp)
{
diff --git a/include/block/block.h b/include/block/block.h
index 78026679ab..a6c0f6668e 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -394,7 +394,6 @@ int bdrv_amend_options(BlockDriverState *bs_new, QemuOpts *opts,
/* external snapshots */
bool bdrv_recurse_is_first_non_filter(BlockDriverState *bs,
BlockDriverState *candidate);
-bool bdrv_is_first_non_filter(BlockDriverState *candidate);
/* check if a named node can be replaced when doing drive-mirror */
BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
--
2.24.1
next prev parent reply other threads:[~2020-02-18 10:42 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-18 10:34 [PATCH v4 00/19] block: Fix check_to_replace_node() Max Reitz
2020-02-18 10:34 ` [PATCH v4 01/19] blockdev: Allow external snapshots everywhere Max Reitz
2020-02-18 10:34 ` [PATCH v4 02/19] blockdev: Allow resizing everywhere Max Reitz
2020-02-18 10:34 ` Max Reitz [this message]
2020-02-18 10:34 ` [PATCH v4 04/19] iotests: Let 041 use -blockdev for quorum children Max Reitz
2020-02-18 10:34 ` [PATCH v4 05/19] quorum: Fix child permissions Max Reitz
2020-02-18 10:34 ` [PATCH v4 06/19] block: Add bdrv_recurse_can_replace() Max Reitz
2020-02-18 10:34 ` [PATCH v4 07/19] blkverify: Implement .bdrv_recurse_can_replace() Max Reitz
2020-02-18 10:34 ` [PATCH v4 08/19] quorum: " Max Reitz
2020-02-18 10:34 ` [PATCH v4 09/19] block: Use bdrv_recurse_can_replace() Max Reitz
2020-02-18 10:34 ` [PATCH v4 10/19] block: Remove bdrv_recurse_is_first_non_filter() Max Reitz
2020-02-18 10:34 ` [PATCH v4 11/19] mirror: Double-check immediately before replacing Max Reitz
2020-02-18 10:34 ` [PATCH v4 12/19] quorum: Stop marking it as a filter Max Reitz
2020-02-18 10:34 ` [PATCH v4 13/19] iotests: Use complete_and_wait() in 155 Max Reitz
2020-02-18 10:34 ` [PATCH v4 14/19] iotests: Add VM.assert_block_path() Max Reitz
2020-02-18 10:34 ` [PATCH v4 15/19] iotests/041: Drop superfluous shutdowns Max Reitz
2020-02-18 10:34 ` [PATCH v4 16/19] iotests: Resolve TODOs in 041 Max Reitz
2020-02-18 10:34 ` [PATCH v4 17/19] iotests: Use self.image_len in TestRepairQuorum Max Reitz
2020-02-18 10:34 ` [PATCH v4 18/19] iotests: Add tests for invalid Quorum @replaces Max Reitz
2020-02-18 12:38 ` Kevin Wolf
2020-02-18 12:49 ` Max Reitz
2020-02-18 13:29 ` Kevin Wolf
2020-02-18 10:34 ` [PATCH v4 19/19] iotests: Check that @replaces can replace filters Max Reitz
2020-02-18 13:53 ` [PATCH v4 00/19] block: Fix check_to_replace_node() 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=20200218103454.296704-4-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--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).