From f8cec157cb7f04cb247786f8776ebfcebd9b61be Mon Sep 17 00:00:00 2001 From: Max Reitz Date: Tue, 7 May 2019 22:35:05 +0200 Subject: [PATCH] blkdebug: Add "none" event Together with @iotypes and @sector, this can be used to trap e.g. the first read or write access to a certain sector without having to know what happens internally in the block layer, i.e. which "real" events happen right before such an access. Signed-off-by: Max Reitz Reviewed-by: Vladimir Sementsov-Ogievskiy Message-id: 20190507203508.18026-5-mreitz@redhat.com Signed-off-by: Max Reitz --- block/blkdebug.c | 2 ++ qapi/block-core.json | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/block/blkdebug.c b/block/blkdebug.c index 3f3ec11230..1663ed25af 100644 --- a/block/blkdebug.c +++ b/block/blkdebug.c @@ -491,6 +491,8 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, goto out; } + bdrv_debug_event(bs, BLKDBG_NONE); + ret = 0; out: if (ret < 0) { diff --git a/qapi/block-core.json b/qapi/block-core.json index 34617a2c7a..60f903afa3 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -3244,6 +3244,8 @@ # # @cluster_alloc_space: an allocation of file space for a cluster (since 4.1) # +# @none: triggers once at creation of the blkdebug node (since 4.1) +# # Since: 2.9 ## { 'enum': 'BlkdebugEvent', 'prefix': 'BLKDBG', @@ -3262,7 +3264,7 @@ 'pwritev_rmw_tail', 'pwritev_rmw_after_tail', 'pwritev', 'pwritev_zero', 'pwritev_done', 'empty_image_prepare', 'l1_shrink_write_table', 'l1_shrink_free_l2_clusters', - 'cor_write', 'cluster_alloc_space'] } + 'cor_write', 'cluster_alloc_space', 'none'] } ## # @BlkdebugIOType: