[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 22/43] block: Use CAFs for debug breakpoints
From: |
Max Reitz |
Subject: |
[PATCH v8 22/43] block: Use CAFs for debug breakpoints |
Date: |
Tue, 1 Sep 2020 16:34:03 +0200 |
When looking for a blkdebug node (which implements debug breakpoints),
use bdrv_primary_bs() to iterate through the graph, because that is
where a blkdebug node would be.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/block.c b/block.c
index ed29d1edb4..ac4ab07f07 100644
--- a/block.c
+++ b/block.c
@@ -5568,17 +5568,7 @@ void bdrv_debug_event(BlockDriverState *bs,
BlkdebugEvent event)
static BlockDriverState *bdrv_find_debug_node(BlockDriverState *bs)
{
while (bs && bs->drv && !bs->drv->bdrv_debug_breakpoint) {
- if (bs->file) {
- bs = bs->file->bs;
- continue;
- }
-
- if (bs->drv->is_filter && bs->backing) {
- bs = bs->backing->bs;
- continue;
- }
-
- break;
+ bs = bdrv_primary_bs(bs);
}
if (bs && bs->drv && bs->drv->bdrv_debug_breakpoint) {
@@ -5613,7 +5603,7 @@ int bdrv_debug_remove_breakpoint(BlockDriverState *bs,
const char *tag)
int bdrv_debug_resume(BlockDriverState *bs, const char *tag)
{
while (bs && (!bs->drv || !bs->drv->bdrv_debug_resume)) {
- bs = bs->file ? bs->file->bs : NULL;
+ bs = bdrv_primary_bs(bs);
}
if (bs && bs->drv && bs->drv->bdrv_debug_resume) {
@@ -5626,7 +5616,7 @@ int bdrv_debug_resume(BlockDriverState *bs, const char
*tag)
bool bdrv_debug_is_suspended(BlockDriverState *bs, const char *tag)
{
while (bs && bs->drv && !bs->drv->bdrv_debug_is_suspended) {
- bs = bs->file ? bs->file->bs : NULL;
+ bs = bdrv_primary_bs(bs);
}
if (bs && bs->drv && bs->drv->bdrv_debug_is_suspended) {
--
2.26.2
- [PATCH v8 12/43] stream: Deal with filters, (continued)
- [PATCH v8 12/43] stream: Deal with filters, Max Reitz, 2020/09/01
- [PATCH v8 14/43] block: Use bdrv_cow_child() in bdrv_co_truncate(), Max Reitz, 2020/09/01
- [PATCH v8 15/43] block: Re-evaluate backing file handling in reopen, Max Reitz, 2020/09/01
- [PATCH v8 16/43] block: Flush all children in generic code, Max Reitz, 2020/09/01
- [PATCH v8 17/43] vmdk: Drop vmdk_co_flush(), Max Reitz, 2020/09/01
- [PATCH v8 18/43] block: Iterate over children in refresh_limits, Max Reitz, 2020/09/01
- [PATCH v8 19/43] block: Use CAFs in bdrv_refresh_filename(), Max Reitz, 2020/09/01
- [PATCH v8 20/43] block: Use CAF in bdrv_co_rw_vmstate(), Max Reitz, 2020/09/01
- [PATCH v8 21/43] block/snapshot: Fix fallback, Max Reitz, 2020/09/01
- [PATCH v8 23/43] block: Improve get_allocated_file_size's default, Max Reitz, 2020/09/01
- [PATCH v8 22/43] block: Use CAFs for debug breakpoints,
Max Reitz <=
- [PATCH v8 24/43] block/null: Implement bdrv_get_allocated_file_size, Max Reitz, 2020/09/01
- [PATCH v8 25/43] blockdev: Use CAF in external_snapshot_prepare(), Max Reitz, 2020/09/01
- [PATCH v8 26/43] block: Report data child for query-blockstats, Max Reitz, 2020/09/01
- [PATCH v8 27/43] block: Use child access functions for QAPI queries, Max Reitz, 2020/09/01
- [PATCH v8 28/43] block-copy: Use CAF to find sync=top base, Max Reitz, 2020/09/01
- [PATCH v8 29/43] mirror: Deal with filters, Max Reitz, 2020/09/01
- [PATCH v8 30/43] backup: Deal with filters, Max Reitz, 2020/09/01
- [PATCH v8 31/43] commit: Deal with filters, Max Reitz, 2020/09/01