[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3/4] libxl: only allow guests with a device model to use cd-{eject/insert}



On Fri, Apr 08, 2016 at 04:35:22PM +0200, Roger Pau Monné wrote:
> On Fri, 8 Apr 2016, Wei Liu wrote:
> > On Fri, Apr 08, 2016 at 04:17:55PM +0200, Roger Pau Monné wrote:
> > > On Fri, 8 Apr 2016, Wei Liu wrote:
> > > > On Thu, Apr 07, 2016 at 07:45:28PM +0200, Roger Pau Monne wrote:
> > > > > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> > > > > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> > > > > Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> > > > > ---
> > > > >  tools/libxl/libxl.c | 6 ++++++
> > > > >  1 file changed, 6 insertions(+)
> > > > > 
> > > > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > > > > index 9d785a4..232e2c1 100644
> > > > > --- a/tools/libxl/libxl.c
> > > > > +++ b/tools/libxl/libxl.c
> > > > > @@ -2909,6 +2909,12 @@ int libxl_cdrom_insert(libxl_ctx *ctx, 
> > > > > uint32_t domid, libxl_device_disk *disk,
> > > > >          goto out;
> > > > >      }
> > > > >  
> > > > > +    if (dm_ver == LIBXL_DEVICE_MODEL_VERSION_NONE) {
> > > > > +        LOG(ERROR, "HVM guests without a device model cannot use 
> > > > > cd-insert");
> > > > 
> > > > It's not specific to HVM, right?
> > > 
> > > It's specific to guests with a device model (those are the only ones that 
> > > can have an emulated CDROM device), and the only guests that can have a 
> > > device model are HVM (although not all of them).
> > > 
> > 
> > Remind me again: how does PV guest CDROM work? ISTR it will also go
> > through this function? My memory is vague though...
> 
> No, AFAICT PV guests use block-attach/detach in order to manage CDROMs, 
> the usage of the cd-eject/insert commands is already limited to HVM 
> guests, my check is only further limiting it to HVM guests with a device 
> model (so it's not used for PVH guests).
> 
> A little above of the check that I've added:
> 
>     libxl_domain_type type = libxl__domain_type(gc, domid);
>     if (type == LIBXL_DOMAIN_TYPE_INVALID) {
>         rc = ERROR_FAIL;
>         goto out;
>     }
>     if (type != LIBXL_DOMAIN_TYPE_HVM) {
>         LOG(ERROR, "cdrom-insert requires an HVM domain");
>         rc = ERROR_INVAL;
>         goto out;
>     }

Right. Thanks for checking.  I realise quibbling over an error message
seems counter-productive.

Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>


Wei.


> 
> Roger.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.