[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-5.2 v2 1/2] block/block-backend: Trace blk_attach_dev()
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH-for-5.2 v2 1/2] block/block-backend: Trace blk_attach_dev() |
Date: |
Thu, 16 Jul 2020 14:42:16 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 7/16/20 2:37 PM, Philippe Mathieu-Daudé wrote:
> Add a trace event to follow devices attaching block drives:
>
> $ qemu-system-arm -M n800 -trace blk_\*
> 9513@1594040428.738162:blk_attach_dev attaching blk 'sd0' to device
> 'omap2-mmc'
> 9513@1594040428.738189:blk_attach_dev attaching blk 'sd0' to device
> 'sd-card'
> qemu-system-arm: sd_init failed: blk 'sd0' already attached by device
> 'sd-card'
Oops, the current error is:
qemu-system-arm: sd_init failed: Drive 'sd0' is already in use by
another device
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> block/block-backend.c | 1 +
> block/trace-events | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/block/block-backend.c b/block/block-backend.c
> index 0bf0188133..63ff940ef9 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -888,6 +888,7 @@ void blk_get_perm(BlockBackend *blk, uint64_t *perm,
> uint64_t *shared_perm)
> */
> int blk_attach_dev(BlockBackend *blk, DeviceState *dev)
> {
> + trace_blk_attach_dev(blk_name(blk), object_get_typename(OBJECT(dev)));
> if (blk->dev) {
> return -EBUSY;
> }
> diff --git a/block/trace-events b/block/trace-events
> index dbe76a7613..aa641c2034 100644
> --- a/block/trace-events
> +++ b/block/trace-events
> @@ -9,6 +9,7 @@ blk_co_preadv(void *blk, void *bs, int64_t offset, unsigned
> int bytes, int flags
> blk_co_pwritev(void *blk, void *bs, int64_t offset, unsigned int bytes, int
> flags) "blk %p bs %p offset %"PRId64" bytes %u flags 0x%x"
> blk_root_attach(void *child, void *blk, void *bs) "child %p blk %p bs %p"
> blk_root_detach(void *child, void *blk, void *bs) "child %p blk %p bs %p"
> +blk_attach_dev(const char *blk_name, const char *dev_name) "attaching blk
> '%s' to device '%s'"
>
> # io.c
> bdrv_co_preadv(void *bs, int64_t offset, int64_t nbytes, unsigned int flags)
> "bs %p offset %"PRId64" nbytes %"PRId64" flags 0x%x"
>