[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] handling local attach of phy disks for pygrub (Was: Xen 4.3 xl migrate " htree_dirblock_to_tree" on second host)
On Wed, 2014-02-12 at 11:46 +0100, Roger Pau Monnà wrote: > I though this was already working on libxl... Could you please test the > attached patch? Which is basically the chunk Ian posted above plus the > libxl__device_disk_local_initiate_detach part. Did this patch work? > > --- > commit 3bcf91cbbd9a18db9ae7d594ffde7979774ed512 > Author: Roger Pau Monne <roger.pau@xxxxxxxxxx> > Date: Wed Feb 12 11:15:17 2014 +0100 > > libxl: local attach support for PHY backends using scripts > > Allow disks using the PHY backend to locally attach if using a script. > > Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx> > Suggested-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > index 730f6e1..5cb46a1 100644 > --- a/tools/libxl/libxl.c > +++ b/tools/libxl/libxl.c > @@ -2630,6 +2630,16 @@ void > libxl__device_disk_local_initiate_attach(libxl__egc *egc, > > switch (disk->backend) { > case LIBXL_DISK_BACKEND_PHY: > + if (disk->script != NULL) { > + LOG(DEBUG, "trying to locally attach PHY device %s with > script %s", > + disk->pdev_path, disk->script); > + 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; > + } > LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk > %s", > disk->pdev_path); > dev = disk->pdev_path; > @@ -2709,7 +2719,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 attached disk %s", dev); > > rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device); > if (rc < 0) > @@ -2749,6 +2759,7 @@ void > libxl__device_disk_local_initiate_detach(libxl__egc *egc, > if (!dls->diskpath) goto out; > > switch (disk->backend) { > + case LIBXL_DISK_BACKEND_PHY: > case LIBXL_DISK_BACKEND_QDISK: > if (disk->vdev != NULL) { > GCNEW(device); > @@ -2766,7 +2777,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-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |