Ejemplo n.º 1
0
static void checkpoint_devices_setup(libxl__egc *egc,
                                     libxl__checkpoint_devices_state *cds)
{
    int i, rc;

    STATE_AO_GC(cds->ao);

    libxl__multidev_begin(ao, &cds->multidev);
    cds->multidev.callback = all_devices_setup_cb;
    for (i = 0; i < cds->num_devices; i++) {
        libxl__checkpoint_device *dev = cds->devs[i];
        dev->ops_index = -1;
        libxl__multidev_prepare_with_aodev(&cds->multidev, &dev->aodev);

        dev->aodev.rc = ERROR_CHECKPOINT_DEVICE_NOT_SUPPORTED;
        dev->aodev.callback = device_setup_iterate;
        device_setup_iterate(egc,&dev->aodev);
    }

    rc = 0;
    libxl__multidev_prepared(egc, &cds->multidev, rc);
}
Ejemplo n.º 2
0
static void remus_devices_setup(libxl__egc *egc,
                                libxl__remus_devices_state *rds)
{
    int i, rc;

    STATE_AO_GC(rds->ao);

    libxl__multidev_begin(ao, &rds->multidev);
    rds->multidev.callback = all_devices_setup_cb;
    for (i = 0; i < rds->num_devices; i++) {
        libxl__remus_device *dev = rds->devs[i];
        dev->ops_index = -1;
        libxl__multidev_prepare_with_aodev(&rds->multidev, &dev->aodev);

        dev->aodev.rc = ERROR_REMUS_DEVICE_NOT_SUPPORTED;
        dev->aodev.callback = device_setup_iterate;
        device_setup_iterate(egc,&dev->aodev);
    }

    rc = 0;
    libxl__multidev_prepared(egc, &rds->multidev, rc);
}