From: Max Reitz <mre...@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 <mre...@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Message-Id: <20200218103454.296704-4-mre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> --- include/block/block.h | 1 - block.c | 26 -------------------------- 2 files changed, 27 deletions(-) diff --git a/include/block/block.h b/include/block/block.h index 6cd566324d..6a8462a5bc 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, diff --git a/block.c b/block.c index 9db0b973fe..145d0baf5e 100644 --- a/block.c +++ b/block.c @@ -6234,32 +6234,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) { -- 2.20.1