static void qemu_laio_completion_cb(EventNotifier *e)

{

    struct qemu_laio_state *s = container_of(e, struct qemu_laio_state, e);



    while (event_notifier_test_and_clear(&s->e)) {

        struct io_event events[MAX_EVENTS];

        struct timespec ts = { 0 };

        int nevents, i;



        do {

            nevents = io_getevents(s->ctx, MAX_EVENTS, MAX_EVENTS, events, &ts);

        } while (nevents == -EINTR);



        for (i = 0; i < nevents; i++) {

            struct iocb *iocb = events[i].obj;

            struct qemu_laiocb *laiocb =

                    container_of(iocb, struct qemu_laiocb, iocb);



            laiocb->ret = io_event_ret(&events[i]);

            qemu_laio_process_completion(s, laiocb);

        }

    }

}

static void qemu_laio_completion_cb(EventNotifier *e)

{

    struct qemu_laio_state *s = container_of(e, struct qemu_laio_state, e);



    while (event_notifier_test_and_clear(&s->e)) {

        struct io_event events[MAX_EVENTS];

        struct timespec ts = { 0 };

        int nevents, i;



        do {

            nevents = io_getevents(s->ctx, MAX_EVENTS, MAX_EVENTS, events, &ts);

        } while (nevents == -EINTR);



        for (i = 0; i < nevents; i++) {

            struct iocb *iocb = events[i].obj;

            struct qemu_laiocb *laiocb =

                    container_of(iocb, struct qemu_laiocb, iocb);



            laiocb->ret = io_event_ret(&events[i]);

            qemu_laio_process_completion(s, laiocb);

        }

    }

}

static void qemu_laio_completion_cb(EventNotifier *e)     struct qemu_laio_state *s = container_of(e, struct qemu_laio_state, e);     while (event_notifier_test_and_clear(&s->e)) {         struct io_event events[MAX_EVENTS];         struct timespec ts = { 0 };         int nevents, i;             nevents = io_getevents(s->ctx, MAX_EVENTS, MAX_EVENTS, events, &ts);         } while (nevents == -EINTR);         for (i = 0; i < nevents; i++) {             struct iocb *iocb = events[i].obj;             struct qemu_laiocb *laiocb =                     container_of(iocb, struct qemu_laiocb, iocb);             laiocb->ret = io_event_ret(&events[i]);             qemu_laio_process_completion(s, laiocb);
static void FUNC_0(EventNotifier *VAR_0)

{

    struct qemu_laio_state *VAR_1 = container_of(VAR_0, struct qemu_laio_state, VAR_0);



    while (event_notifier_test_and_clear(&VAR_1->VAR_0)) {

        struct io_event VAR_2[MAX_EVENTS];

        struct timespec VAR_3 = { 0 };

        int VAR_4, VAR_5;



        do {

            VAR_4 = io_getevents(VAR_1->ctx, MAX_EVENTS, MAX_EVENTS, VAR_2, &VAR_3);

        } while (VAR_4 == -EINTR);



        for (VAR_5 = 0; VAR_5 < VAR_4; VAR_5++) {

            struct VAR_6 *VAR_6 = VAR_2[VAR_5].obj;

            struct qemu_laiocb *VAR_7 =

                    container_of(VAR_6, struct qemu_laiocb, VAR_6);



            VAR_7->ret = io_event_ret(&VAR_2[VAR_5]);

            qemu_laio_process_completion(VAR_1, VAR_7);

        }

    }

}

static void FUNC_0(EventNotifier *VAR_0)
{ struct qemu_laio_state *VAR_1 = container_of(VAR_0, struct qemu_laio_state, VAR_0); while (event_notifier_test_and_clear(&VAR_1->VAR_0)) { struct io_event VAR_2[MAX_EVENTS]; struct timespec VAR_3 = { 0 }; int VAR_4, VAR_5; do { VAR_4 = io_getevents(VAR_1->ctx, MAX_EVENTS, MAX_EVENTS, VAR_2, &VAR_3); } while (VAR_4 == -EINTR); for (VAR_5 = 0; VAR_5 < VAR_4; VAR_5++) { struct VAR_6 *VAR_6 = VAR_2[VAR_5].obj; struct qemu_laiocb *VAR_7 =
container_of(VAR_6, struct qemu_laiocb, VAR_6); VAR_7->ret = io_event_ret(&VAR_2[VAR_5]); qemu_laio_process_completion(VAR_1, VAR_7); } } }