void bdrv_remove_aio_context_notifier(BlockDriverState *bs,

                                      void (*attached_aio_context)(AioContext *,

                                                                   void *),

                                      void (*detach_aio_context)(void *),

                                      void *opaque)

{

    BdrvAioNotifier *ban, *ban_next;



    QLIST_FOREACH_SAFE(ban, &bs->aio_notifiers, list, ban_next) {

        if (ban->attached_aio_context == attached_aio_context &&

            ban->detach_aio_context   == detach_aio_context   &&

            ban->opaque               == opaque)

        {

            QLIST_REMOVE(ban, list);

            g_free(ban);



            return;

        }

    }



    abort();

}

void bdrv_remove_aio_context_notifier(BlockDriverState *bs,

                                      void (*attached_aio_context)(AioContext *,

                                                                   void *),

                                      void (*detach_aio_context)(void *),

                                      void *opaque)

{

    BdrvAioNotifier *ban, *ban_next;



    QLIST_FOREACH_SAFE(ban, &bs->aio_notifiers, list, ban_next) {

        if (ban->attached_aio_context == attached_aio_context &&

            ban->detach_aio_context   == detach_aio_context   &&

            ban->opaque               == opaque)

        {

            QLIST_REMOVE(ban, list);

            g_free(ban);



            return;

        }

    }



    abort();

}

            ban->opaque               == opaque)             QLIST_REMOVE(ban, list);             g_free(ban);
VAR_4voidVAR_4 VAR_4bdrv_remove_aio_context_notifierVAR_4(VAR_4BlockDriverStateVAR_4 *VAR_4VAR_0VAR_4,

                                      VAR_4voidVAR_4 (*VAR_4VAR_1VAR_4)(VAR_4AioContextVAR_4 *,

                                                                   VAR_4voidVAR_4 *),

                                      VAR_4voidVAR_4 (*VAR_4detach_aio_contextVAR_4)(VAR_4voidVAR_4 *),

                                      VAR_4voidVAR_4 *VAR_4opaqueVAR_4)

{

    VAR_4BdrvAioNotifierVAR_4 *VAR_4banVAR_4, *VAR_4ban_nextVAR_4;



    VAR_4QLIST_FOREACH_SAFEVAR_4(VAR_4banVAR_4, &VAR_4VAR_0VAR_4->VAR_4aio_notifiersVAR_4, VAR_4listVAR_4, VAR_4ban_nextVAR_4) {

        VAR_4ifVAR_4 (VAR_4banVAR_4->VAR_4VAR_1VAR_4 == VAR_4VAR_1VAR_4 &&

            VAR_4banVAR_4->VAR_4detach_aio_contextVAR_4   == VAR_4detach_aio_contextVAR_4   &&

            VAR_4banVAR_4->VAR_4opaqueVAR_4               == VAR_4opaqueVAR_4)

        {

            VAR_4QLIST_REMOVEVAR_4(VAR_4banVAR_4, VAR_4listVAR_4);

            VAR_4g_freeVAR_4(VAR_4banVAR_4);



            VAR_4returnVAR_4;

        }

    }



    VAR_4abortVAR_4();

}

VAR_4voidVAR_4 VAR_4bdrv_remove_aio_context_notifierVAR_4(VAR_4BlockDriverStateVAR_4 *VAR_4VAR_0VAR_4,
VAR_4voidVAR_4 (*VAR_4VAR_1VAR_4)(VAR_4AioContextVAR_4 *,
VAR_4voidVAR_4 *),
VAR_4voidVAR_4 (*VAR_4detach_aio_contextVAR_4)(VAR_4voidVAR_4 *),
VAR_4voidVAR_4 *VAR_4opaqueVAR_4)
{ VAR_4BdrvAioNotifierVAR_4 *VAR_4banVAR_4, *VAR_4ban_nextVAR_4; VAR_4QLIST_FOREACH_SAFEVAR_4(VAR_4banVAR_4, &VAR_4VAR_0VAR_4->VAR_4aio_notifiersVAR_4, VAR_4listVAR_4, VAR_4ban_nextVAR_4) { VAR_4ifVAR_4 (VAR_4banVAR_4->VAR_4VAR_1VAR_4 == VAR_4VAR_1VAR_4 &&
VAR_4banVAR_4->VAR_4detach_aio_contextVAR_4   == VAR_4detach_aio_contextVAR_4   &&
VAR_4banVAR_4->VAR_4opaqueVAR_4               == VAR_4opaqueVAR_4)
{ VAR_4QLIST_REMOVEVAR_4(VAR_4banVAR_4, VAR_4listVAR_4); VAR_4g_freeVAR_4(VAR_4banVAR_4); VAR_4returnVAR_4; } } VAR_4abortVAR_4(); }