static void suspend_request(BlockDriverState *bs, BlkdebugRule *rule)

{

    BDRVBlkdebugState *s = bs->opaque;

    BlkdebugSuspendedReq r;



    r = (BlkdebugSuspendedReq) {

        .co         = qemu_coroutine_self(),

        .tag        = g_strdup(rule->options.suspend.tag),

    };



    remove_rule(rule);

    QLIST_INSERT_HEAD(&s->suspended_reqs, &r, next);



    printf("blkdebug: Suspended request '%s'\n", r.tag);

    qemu_coroutine_yield();

    printf("blkdebug: Resuming request '%s'\n", r.tag);



    QLIST_REMOVE(&r, next);

    g_free(r.tag);

}

static void suspend_request(BlockDriverState *bs, BlkdebugRule *rule)

{

    BDRVBlkdebugState *s = bs->opaque;

    BlkdebugSuspendedReq r;



    r = (BlkdebugSuspendedReq) {

        .co         = qemu_coroutine_self(),

        .tag        = g_strdup(rule->options.suspend.tag),

    };



    remove_rule(rule);

    QLIST_INSERT_HEAD(&s->suspended_reqs, &r, next);



    printf("blkdebug: Suspended request '%s'\n", r.tag);

    qemu_coroutine_yield();

    printf("blkdebug: Resuming request '%s'\n", r.tag);



    QLIST_REMOVE(&r, next);

    g_free(r.tag);

}

static void FUNC_0(BlockDriverState *VAR_0, BlkdebugRule *VAR_1)

{

    BDRVBlkdebugState *s = VAR_0->opaque;

    BlkdebugSuspendedReq r;



    r = (BlkdebugSuspendedReq) {

        .co         = qemu_coroutine_self(),

        .tag        = g_strdup(VAR_1->options.suspend.tag),

    };



    remove_rule(VAR_1);

    QLIST_INSERT_HEAD(&s->suspended_reqs, &r, next);



    printf("blkdebug: Suspended request '%s'\n", r.tag);

    qemu_coroutine_yield();

    printf("blkdebug: Resuming request '%s'\n", r.tag);



    QLIST_REMOVE(&r, next);

    g_free(r.tag);

}

static void FUNC_0(BlockDriverState *VAR_0, BlkdebugRule *VAR_1)
{ BDRVBlkdebugState *s = VAR_0->opaque; BlkdebugSuspendedReq r; r = (BlkdebugSuspendedReq) { .co         = qemu_coroutine_self(),
.tag        = g_strdup(VAR_1->options.suspend.tag),
}; remove_rule(VAR_1); QLIST_INSERT_HEAD(&s->suspended_reqs, &r, next); printf("blkdebug: Suspended request '%s'\n", r.tag); qemu_coroutine_yield(); printf("blkdebug: Resuming request '%s'\n", r.tag); QLIST_REMOVE(&r, next); g_free(r.tag); }