[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] xl stack problems on CentOS6 XEN4
El 18/05/15 a les 12.22, Roger Pau Monné ha escrit: > El 12/05/15 a les 18.08, Roger Pau Monné ha escrit: >> It seems like libxl__device_disk_local_initiate_attach is completely >> ignoring the fact that disk->script is not NULL, so it has to attach the >> disk to Dom0 before running the bootloader (instead of setting dev = >> disk->pdev_path). I will try to find some time tomorrow to look into this. > > Hello, > > Could you please test the following patch? The previous patch was not complete, it missed a chunk in libxl__device_disk_local_initiate_detach. Please use the patch below instead. Roger. --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index a6eb2df..99e9c45 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -3063,9 +3063,16 @@ void libxl__device_disk_local_initiate_attach(libxl__egc *egc, switch (disk->backend) { case LIBXL_DISK_BACKEND_PHY: - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s", - disk->pdev_path); - dev = disk->pdev_path; + if (disk->script == NULL) { + LOG(DEBUG, "locally attaching PHY disk %s", disk->pdev_path); + dev = disk->pdev_path; + } else { + libxl__prepare_ao_device(ao, &dls->aodev); + dls->aodev.callback = local_device_attach_cb; + device_disk_add(egc, LIBXL_TOOLSTACK_DOMID, disk, &dls->aodev, + libxl__alloc_vdev, (void *) blkdev_start); + return; + } break; case LIBXL_DISK_BACKEND_TAP: switch (disk->format) { @@ -3142,7 +3149,7 @@ static void local_device_attach_cb(libxl__egc *egc, libxl__ao_device *aodev) } dev = GCSPRINTF("/dev/%s", disk->vdev); - LOG(DEBUG, "locally attaching qdisk %s", dev); + LOG(DEBUG, "locally attaching disk %s", dev); rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device); if (rc < 0) @@ -3183,6 +3190,7 @@ void libxl__device_disk_local_initiate_detach(libxl__egc *egc, switch (disk->backend) { case LIBXL_DISK_BACKEND_QDISK: + case LIBXL_DISK_BACKEND_PHY: if (disk->vdev != NULL) { GCNEW(device); rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, @@ -3199,7 +3207,6 @@ void libxl__device_disk_local_initiate_detach(libxl__egc *egc, /* disk->vdev == NULL; fall through */ default: /* - * Nothing to do for PHYSTYPE_PHY. * For other device types assume that the blktap2 process is * needed by the soon to be started domain and do nothing. */ _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |