mirror of https://github.com/xemu-project/xemu.git
block: Drop bdrv_is_first_non_filter()
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> Message-Id: <20200218103454.296704-4-mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
7607074f42
commit
a851ad4cac
26
block.c
26
block.c
|
@ -6234,32 +6234,6 @@ bool bdrv_recurse_is_first_non_filter(BlockDriverState *bs,
|
||||||
return false;
|
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,
|
BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
|
||||||
const char *node_name, Error **errp)
|
const char *node_name, Error **errp)
|
||||||
{
|
{
|
||||||
|
|
|
@ -394,7 +394,6 @@ int bdrv_amend_options(BlockDriverState *bs_new, QemuOpts *opts,
|
||||||
/* external snapshots */
|
/* external snapshots */
|
||||||
bool bdrv_recurse_is_first_non_filter(BlockDriverState *bs,
|
bool bdrv_recurse_is_first_non_filter(BlockDriverState *bs,
|
||||||
BlockDriverState *candidate);
|
BlockDriverState *candidate);
|
||||||
bool bdrv_is_first_non_filter(BlockDriverState *candidate);
|
|
||||||
|
|
||||||
/* check if a named node can be replaced when doing drive-mirror */
|
/* check if a named node can be replaced when doing drive-mirror */
|
||||||
BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
|
BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
|
||||||
|
|
Loading…
Reference in New Issue